有没有办法只列出某一类别的帖子

时间:2016-07-11 作者:Arnold Rimmer

我想为帖子添加一个新的菜单点,显示特定类别的帖子。如果只是一个新的帖子类型,添加一个新页面很容易。但我只想显示具有特定类别的帖子,更新帖子时确保选中了类别。

没有办法做到这一点吗?我希望得到一些简单的函数,比如register\\u post\\u type()实现它的方式。似乎没有,有人给我一些关于如何做到这一点的建议吗?有可能吗?或者我应该只使用自定义的帖子类型?

3 个回复
最合适的回答,由SO网友:Milo 整理而成

您可以通过附加?category_name=xx 到管理员帖子列表URL,您可以通过添加一个子菜单页面,将该URL作为目标add_submenu_page:

add_action( \'admin_menu\', \'wpd_admin_menu_item\' );
function wpd_admin_menu_item(){
    add_submenu_page(
        \'edit.php\',
        \'Page title\',
        \'Menu item title\',
        \'edit_posts\', 
        \'edit.php?category_name=somecat\'
    );
}

SO网友:Ivijan Stefan Stipić

您可以按类别名称或ID循环帖子:

$query = new WP_Query( array( \'category_name\' => \'staff\' ) );

$query = new WP_Query( array( \'cat\' => 4 ) );
只需使用好的老式方式循环即可:

if ( $query->have_posts() ) :
    while ( $query->have_posts() ) : $query->the_post();
        get_title();
    endwhile;
else :
    echo \'No posts\';
endif;
您需要创建新的自定义模板,在新的WP\\U查询中获取类别ID、设置ID并循环该模板。

下面是一个关于如何使用的文档WP_Query()

SO网友:nu everest

Category Posts小部件插件可以做到这一点。https://wordpress.org/plugins/category-posts/

Category Posts小部件是一个轻量级小部件,它设计用来做一件事,并且做得很好:显示某个类别的最新帖子。

Documentation 了解如何使用它。

如果你想看看他们是怎么做的,那么这是他们的github repo .