GET_POSTS输出始终相同的POST

时间:2013-11-30 作者:MultiformeIngegno

我试图输出最后(按时间顺序)4篇带有标签(slug)“pp”的帖子。

<ul>
<?php
$args = array( \'posts_per_page\' => 4, \'taxonomy\' => \'tag\', \'field\' => \'slug\', \'terms\' => \'pp\' );
$tag_posts = get_posts( $args );
foreach ( $tag_posts as $post ) : 
  setup_postdata( $post ); ?>
    <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php endforeach; 
wp_reset_postdata(); ?>
</ul>
这段代码虽然输出了同一篇文章的4个条目,但这是最后一篇文章的第四条!为什么?:)

1 个回复
SO网友:Maruti Mohanty

这是因为您没有以正确的方式传递参数,需要在下面传递分类参数tax_query. 请更换$args 具有以下内容:--

$args = array(
    \'posts_per_page\' => 4,
    \'tax_query\' => array(
        array(
            \'taxonomy\' => \'tag\',
            \'field\' => \'slug\',
            \'terms\' => \'pp\'
        )
    )
);
有关更多详细信息,请查看codex

结束

相关推荐

Add filter to comments loop?

我正在制作一个插件,用于存储推荐人数据以供评论。我已经创建了数据库表,并且在进行注释时正确存储了数据。现在,我想为每个注释在注释块上附加一个自定义div。如何向注释循环添加过滤器?我想说“如果这个评论ID在我的表中有一个推荐人,那么在我的特殊div中打印出推荐人”。我可以自己写函数,我只需要在哪里注入函数的帮助。