正如我在评论中所述,您需要pre_get_posts
和ameta_query
从主查询中排除具有特定值的特定自定义字段中的帖子。阅读前面提到的内容确实符合你的最大利益。记住,所有参数WP_Query
工作于pre_get_posts
像WP_Query
使用pre_get_posts
要更改查询参数,主查询使用WP_Query
简而言之,您可以尝试以下操作:(需要PHP 5.4+,代码未经测试)
add_action( \'pre_get_posts\', function ( $q )
{
if ( !is_admin() // Targets the front end only, we don\'t need this for is_home()
&& $q->is_home() // Change this to the appropriate page, here we only target the home page
&& $q->is_main_query() // Target the main query only
) {
$meta_query = [
[
\'key\' => \'Custom_ID\',
\'compare\' => \'NOT IN\' // Do not get posts from this spoecific key/value pair
]
];
$q->set( \'meta_query\', $meta_query );
}
});