如何创建显示带有特定标签的帖子的WordPress页面?

时间:2012-01-14 作者:user1114968

正如标题所说,我会在wordpress页面上使用什么代码,以便它只显示具有特定标记的帖子?

2 个回复
SO网友:helgatheviking

我很确定我一直在这里读到new WP_Query() 建议超过query_posts. 此外,您还可以使用Transient API 提高其他查询的性能。将其放置在希望列表显示的任何模板中:

// Get any existing copy of our transient data
if ( false === ( $my_special_tag = get_transient( \'my_special_tag\' ) ) ) {
    // It wasn\'t there, so regenerate the data and save the transient

   // params for our query
    $args = array(
        \'tag\' => \'foo\'
       \'posts_per_page\'  => 5,
    );

    // The Query
    $my_special_tag = new WP_Query( $args );

    // store the transient
    set_transient( \'my_special_tag\', $my_special_tag, 12 * HOUR_IN_SECONDS );

}

// Use the data like you would have normally...

// The Loop
if ( $my_special_tag ) :

    echo \'<ul class="my-special-tag">\';

    while ( $my_special_tag->have_posts() ) :
        $my_special_tag->the_post();
        echo \'<li>\' . get_the_title() . \'</li>\';
    endwhile;

    echo \'</ul>\';

else :

echo \'No posts found.\';

endif;

/* Restore original Post Data
 * NB: Because we are using new WP_Query we aren\'t stomping on the
 * original $wp_query and it does not need to be reset.
*/
wp_reset_postdata();
在你的功能中。php更新时,您需要清除瞬态:

// Create a function to delete our transient when a post is saved or term is edited
function delete_my_special_tag_transient( $post_id ) {
    delete_transient( \'my_special_tag\' );
}
add_action( \'save_post\', \'delete_my_special_tag_transient\' );
add_action( \'edit_term\', \'delete_my_special_tag_transient\' );

SO网友:Tribbey

在循环之前,使用query\\u posts函数

query_posts( \'tag=foo\' );
这将返回带有指定标记的所有帖子。

<?php
// retrieve post with the tag of foo
query_posts( \'tag=foo\' );
// the Loop
while (have_posts()) : the_post();
    the_content( \'Read the full post »\' );
endwhile;
?>
您还可以使用它返回带有多个标记的帖子

query_posts( \'tag=foo,bike\' );
有关更多参数和参考,请参阅http://codex.wordpress.org/Class_Reference/WP_Query#Parametershttp://codex.wordpress.org/Function_Reference/query_posts

结束

相关推荐

WP_LIST_PAGES格式仅适用于最近修改的页面

wp\\u list\\u页面是显示树结构的好工具。您可以指定上次修改页面的深度、子级和show\\u日期。但是,如果我只想显示上次修改的页面的日期。。。24小时说。。。如何指定此项?