我的索引页上有一个循环。我遇到的问题是,生成的HTML与我在模板部分标题中编写的标题不同。php输入<head>
我确实知道它在<title>
我上一篇文章的当前标题(见我的循环)。如果我不得不猜测的话,我会说循环中的每一篇文章都会生成thid,可以重写<title>
在<head>
, 但我不知道是什么。
编辑1:
这是我的循环,更准确地说,它实际上是<h3><?php the_title()?></h3>
放在<head><title></title></head>
<?php if ( is_home() ) { query_posts( \'cat=-5\' ); } ?>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<div <?php post_class()?>>
<h3 class="post-title">
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
</h3>
<p class="post-info">
Posté le <?php the_date(); ?> dans <?php the_category(\', \'); ?> par <?php the_author(); ?>.<br />
<?php the_tags(); ?>
</p>
<div class="post-excerpt">
<?php the_excerpt(); ?>
</div>
</div>
<?php endwhile; ?>
<?php else : ?>
<p class="nothing">
Il n\'y a pas de Post à afficher !
</p>
<?php endif; ?>
<?php wp_reset_query(); ?>
这是我的
<head>
:
<head <?php language_attributes(); ?>>
<meta charset="<?php bloginfo(\'charset\'); ?>">
<title><?php the_title(); ?></title>
<link rel="stylesheet" type="text/css" href="http://necolas.github.io/normalize.css/3.0.1/normalize.css">
<link rel="stylesheet" href="<?php echo get_template_directory_uri();?>/css/app.css" type="text/css">
<link rel= "icon" href="<?php echo get_template_directory_uri();?>/favicon.ico" type="image/x-icon " />
<link href=\'http://fonts.googleapis.com/css?family=Gloria+Hallelujah\' rel=\'stylesheet\' type=\'text/css\'>
<?php wp_head(); ?>
</head>
最合适的回答,由SO网友:Pieter Goosen 整理而成
首先,您不应该使用query_posts
用于自定义查询。直接来自法典
注意:此功能不适用于插件或主题。如后文所述,有更好、性能更好的选项来更改主查询。query\\u posts()是一种过于简单且有问题的方法,通过将页面的主查询替换为新的查询实例来修改它。它效率低下(重新运行SQL查询),并且在某些情况下会彻底失败(尤其是在处理POST分页时)。
您应该使用WP_Query
. 您还应该阅读here
好,现在来看看实际问题。你有the_title()
和wp_title()
把这里搞混了。the_title()
在帖子中显示帖子标题,并且应该在循环中。wp_title()
检索页面标题,并应在标题中使用。我再次引用《法典》
WordPress标准公开要求此功能,而不是解决方法。
所以你需要改变
<title><?php the_title(); ?></title>
至
<title><?php wp_title(); ?></title>
在标题中