在search.php和archive.php上显示页面标题而不是帖子标题
在search.php和archive.php上显示页面标题而不是帖子标题
我正在为未来的项目开发一个WordPress初始主题。我想要实现的是在search.php和archive.php页面中显示页面的标题。但目前它显示的是最新帖子的标题。我已经通过谷歌搜索和阅读了很多解决方案,但都没有成功,这真的让我发疯。
下面你可以看到我正在寻找search.php和archive.php页面。但无论我尝试什么,这些页面总是显示带有“this is not search.php or archive.php”的else语句。
简而言之,search.php和archive.php页面总是显示最新帖子的标题,而我的elseif语句总是被忽略。
以下是我的代码,它位于header.php中,因此在循环之外:
this is not search.php or archive.php
如何解决这个问题?
编辑!!!
非常感谢Michal S在这里帮助我!我需要的代码竟然非常简单:
搜索'; /* 主标题下方的副标题 */ echo '找到你想要的了吗?'; } else { /* 主标题 */ echo ''; wp_title(''); echo '
'; /* 主标题下方的副标题 */ echo ''; the_field('page_slogan'); echo ''; } ?>
在搜索页面(search.php)和存档页面(archive.php)上显示页面标题而不是文章标题的问题可能出现的原因是,网站的模板文件中没有正确设置页面标题的显示方式。解决这个问题的方法是在模板文件中添加相应的代码,以根据页面的类型来决定显示的标题。
以下是一个可以作为起点的代码示例,你可以根据需要进行修改:
<title> <?php if (function_exists('is_tag') && is_tag()) { single_tag_title("Tag Archive for ""); echo '" - '; } elseif (is_archive()) { wp_title(''); echo ' '; } elseif (is_search()) { echo 'Search for "'.wp_specialchars($s).'" - '; } elseif (!(is_404()) && (is_single()) || (is_page())) { wp_title(''); echo ' - '; } elseif (is_404()) { echo 'Not Found - '; } if (is_home()) { bloginfo('name'); echo ' - '; bloginfo('description'); } else { bloginfo('name'); } if ($paged>1) { echo ' - page '. $paged; } ?> </title>
感谢你的帮助!我真的为这个问题烦恼了好久!顺便说一下,这是我需要的代码,它可以正常工作。原来解决这个问题是非常简单的。我将把它发布在上面,供其他人使用。