php - WP-查询 : check if the post content is empty

标签 php wordpress

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

if ( $post->post_content ) 

并将参数放入

wp query ('posts_per_page' => 8).

我认为它有效,但实际上,WP 查询 去查找最后的 8 个帖子,并检查这 8 个帖子 的内容。因此它呈现 23 帖子。

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

明白我的意思了吗?

非常感谢您的帮助:)

最好的问候。

最佳答案

这对于标准的 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');

关于php - WP-查询 : check if the post content is empty,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16395115/

相关文章:

php - 替换所有 germanumlauts

php - 在php中使用utf-8编码将CSV文件上传到MySQL

带有 2 个参数的 javascript 函数不起作用

javascript - PHP Echo SUM session 值和表单选择

php - wordpress - 按字母显示类别的书签链接

css - 更改导航菜单字体但不更改其下方的链接

javascript - 在 javascript 中访问对象属性时出现问题显示未定义?

php - 在 WooCommerce 付款后立即更改订单状态

wordpress - 为什么 PHP 选项没有显示在 PhpStorm 的语言和框架中?

javascript - 回调函数返回 wordpress 博客上具有给定类别的所有帖子的数组