我正在为未来的项目开发一个Wordpress入门主题。我想要实现的是显示页面标题search.php和archive.php。
相反,它现在显示最新帖子的标题。我用谷歌搜索了几个小时并阅读了许多解决方案,但没有运气,这真的让我发疯。
在这里你可以看到我正在寻找search.php和archive.php。但无论我为这些页面尝试什么,总是会显示带有'this is not search.php或archive.php'的else语句。
所以简而言之,search.php和archive.php总是会显示最新的帖子标题而不是页面标题,而我的elseif语句会被忽略。
这是我的代码,它位于header.php中,因此位于循环之外:
<?php if ( is_page_template('page.php') ) { ?>
<h1><?php wp_title(); ?></h1>
<span class="title-sub"><?php the_field('page_slogan'); ?></span>
<?php } else if ( is_page_template('search.php') ) { ?>
<h1><?php wp_title(); ?></h1>
<?php } else if ( is_page_template('archive.php') ) { ?>
<h1><?php wp_title(); ?></h1>
<?php } else { ?>
<h1><?php the_title(); ?> this is not search.php or archive.php</h1>
<span class="title-sub"><?php the_field('page_slogan'); ?></span>
<?php } ?>
如何解决这个问题?
非常感谢Michal S在这里帮助我! 我需要的代码非常简单:
<?php
if (is_search()) {
/* Main title */
echo '<h1>Search</h1>';
/* Streamer underneath the main title */
echo '<span class="title-sub">Found what you were looking for?</span>';
} else {
/* Main title */
echo '<h1>';
wp_title('');
echo '</h1>';
/* Streamer underneath the main title */
echo '<span class="title-sub">';
the_field('page_slogan');
echo '</span>';
}
?>
答案 0 :(得分:0)
将此作为一个很好的起点。您可以轻松修改或至少使用以下代码中的条件(信用转到许多流行的空白模板,作者未知)
<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>