不清楚您在这里要找什么,但您可以尝试使用posts_where
过滤器:
/**
* Remove posts, with a given status, on the edit.php (post) screen,
* when there\'s no post status filter selected.
*/
add_action( \'posts_where\', function( $where, $q )
{
if( is_admin()
&& $q->is_main_query()
&& ! filter_input( INPUT_GET, \'post_status\' )
&& ( $screen = get_current_screen() ) instanceof \\WP_Screen
&& \'edit-post\' === $screen->id
)
{
global $wpdb;
$status_to_exclude = \'project_close\'; // Modify this to your needs!
$where .= sprintf(
" AND {$wpdb->posts}.post_status NOT IN ( \'%s\' ) ",
$status_to_exclude
);
}
return $where;
}, 10, 2 );
您必须修改
$status_to_exclude
地位在这里,我们的目标是
edit.php
的屏幕
post
岗位类型。我们确保
post_status
未设置GET筛选器。
因此,当您单击后端中的“所有帖子”管理菜单链接时,此筛选将被激活。
希望您可以根据自己的需要进一步调整。