为什么我的标题更改了我循环中最后一个帖子的标题?

时间:2014-05-26 作者:Pierre Tusseau

我的索引页上有一个循环。我遇到的问题是,生成的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>

1 个回复
最合适的回答,由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>
在标题中

结束

相关推荐

ACF loop and php formatting

下面的php将遍历每个页面,然后输出ALL ACF自定义字段的。我需要的帮助格式是一个条件语句,它将所有$fields, 除了$field_name 在自己的容器中包含“标题”。$pages = get_pages( array(\'sort_column\' => \'menu_order\')); foreach ($pages as $page_data) { $fields = get_fields($page_data); if( $fields