3

我正在尝试检查我的帖子是否有内容,在循环中。目前,我在循环中添加了一个条件:

if ( $post->post_content ) 

并提出论据

wp query ('posts_per_page' => 8).

我认为它有效,但实际上,WP query去 find last8 posts并检查那些8 lasts. 所以它呈现23发布。

我想要的是一种显示8有内容的最新帖子的方法。

明白了吗 ?

我真的很感激一些帮助:)

此致。

4

1 回答 1

7

这对于标准 WP 查询是不可能的,您必须在posts_where调用 WP_Query 之前利用 。

function filter_where($where = ''){
    return $where .= "AND trim(coalesce(post_content, '')) <>''";
}

在上面,我们只是选择了列post_content不为空的帖子。

然后添加过滤器。

add_filter('posts_where', 'filter_where');

现在执行查询。

$query = new WP_Query(array('post_type' => 'post', 'posts_per_page' => 8));

然后当你完成后,从查询中删除过滤器,这样它就不会干扰。

remove_filter('posts_where', 'filter_where');
于 2013-05-06T09:23:08.090 回答