WP-Query:检查帖子内容是否为空

时间:2013-05-06 08:49:22

标签: php wordpress

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

if ( $post->post_content ) 

并在

中推出了参数
wp query ('posts_per_page' => 8).

我认为它有效,但实际上WP query去找8 posts,然后查看8 lasts的内容。因此,它会呈现23个帖子。

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

明白我的意思?

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

最好的问候。

1 个答案:

答案 0 :(得分:7)

使用标准WP查询是不可能的,并且在调用WP_Query之前,您必须利用posts_where

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');