按类别显示帖子-类别ID不起作用

时间:2018-04-05 作者:mickbale

我有一段代码,它运行得很好,只是它没有按类别ID获取帖子。从我看到的示例来看,我希望这能起作用——我是否遗漏了什么?

<?php
    $paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1;
    $args = array(
        \'category\' => 172,
        \'post_type\' => \'post\',
        \'posts_per_page\' => 10,
        \'paged\' => $paged
    );
    $wp_query = new WP_Query($args);

    while ( have_posts() ) : the_post();
?>
    <h3 class="publication-title"><a href="<?php the_permalink(); ?>" title="<?php the_title();?>"><?php the_title() ?></a></h3>
    <p><strong><small><?php the_date(); ?></small></strong></p>
    <p><?php the_excerpt(); ?></p>
    <hr>
<?php endwhile; ?>

<!-- then the pagination links -->
<?php next_posts_link( \'&larr; Older posts\', $wp_query ->max_num_pages); ?>
<?php previous_posts_link( \'Newer posts &rarr;\' ); ?>

1 个回复
最合适的回答,由SO网友:Krzysiek Dróżdż 整理而成

当然不行了。哪些示例正在使用此代码?

让我们看看Category Parameters 属于WP_Query

共有5个类别参数:

cat(int)-使用类别id。category\\u名称(字符串)-使用类别slug

  • category\\u和(数组)-使用类别id。
  • category\\u in(数组)-使用类别id。
  • category\\u not\\u in(数组)-使用类别id。
    • 没有category 参数,因此您的参数未知WP_Query 忽略它。

      那么它应该是什么样子呢?

      ...
      $args = array(
          \'cat\' => 172,
          \'post_type\' => \'post\',
          \'posts_per_page\' => 10,
          \'paged\' => $paged
      );
      ...
      
      另外。。。你不应该使用the_title() 在HTML属性中-它不会正确转义。因此,如果标题包含引号字符,那么它将破坏您的HTML代码。。。

    结束

    相关推荐

    使用新的WP-Query()从循环中过滤后期格式;

    嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post