Edit: 我原以为这很简单,但似乎我还不够胜任。
您可以通过添加任意类别(如my_prog_cat_to_hide
) 对于这些以编程方式添加的帖子,然后在管理列表中过滤掉它们。
function wpse182434_get_category_id($cat_name){
$term = get_term_by(\'name\', $cat_name, \'category\');
return $term->term_id;
}
function wpse182434_filter_admin_query( $query ) {
if(is_admin() && $query->is_main_query() && !filter_input(INPUT_GET, \'post_status\') && ( $screen = get_current_screen() ) instanceof \\WP_Screen && \'edit-post\' === $screen->id) {
$query->set( \'cat\', \'-\'.wpse182434_get_category_id(\'my_prog_cat_to_hide\') );
}
}
add_action( \'pre_get_posts\', \'wpse182434_filter_admin_query\' );
当然,这会让你处理一些事情,比如在前端和/或提要中不显示该类别,等等。
因为wpse182434_filter_admin_query
if条件是,如果您从顶部选择“已发布”或“所有帖子”以外的任何其他过滤器,您仍然可以看到文章。它们只是在所有帖子列表中筛选出来的。
所有这些都在你的函数中。当然是php。