既然您使用的是核心的“帖子页面”设置,那么您应该能够使用pre_get_posts
action 删除要排除的特定ID。
这应该适用于您的functions.php
文件或/mu-plugins/
插件:
wpse94273_hide_post( $query ) {
// only remove post ID from page_for_posts and in the main query
if( $query->is_home() && $query->is_main_query() ) {
// remove specific page ID from query
query->set( \'post__not_in\', array( {your post id} ) );
}
}
add_action( \'pre_get_posts\', \'wpse_94273_hide_post\' );
将“{your post id}”替换为要排除的帖子的id。这是一个
array
, 因此,如果需要,可以输入多个以逗号分隔的ID。
如果post ID发生更改,则需要使用设置API设置某种选项来存储要排除的ID。