您可以在主WP\\U查询向数据库请求帖子之前对其进行操作。正在查找现有_thumbnail_id
元字段应该足够了,所以使用pre_get_posts
过滤器,类似这样的功能可能适合您:
add_action("pre_get_posts", function($query) {
if(!is_front_page() || !$query->is_main_query()) {
return;
}
if(!array_key_exists("meta_query", $query->query_vars)) {
$query->query_vars["meta_query"] = array();
}
array_push($query->query_vars["meta_query"],
array(
\'key\' => \'_thumbnail_id\',
\'compare\' => \'EXISTS\'
)
);
});
函数开头的条件返回只针对首页上的主查询,而不涉及任何其他查询(例如,它不会从存档中隐藏没有缩略图的帖子)。