在我的博客索引页面中,我不想显示内容为空但只有标题的帖子(How does filter the_posts work?) . 我正在看“the\\u post”挂钩,它似乎在环内开火。因此,我认为如果操作挂钩在循环中触发,我可以检查“the\\u post”挂钩上的帖子内容,如果为null,则继续循环。我尝试了以下方法:
add_action(\'the_post\' , \'rb_test_the_post\');
function rb_test_the_post($post){
if (($post->post_content) == \'\') {
continue;
}
}
这给了我Wordpress中的一个错误(“网站遇到了技术困难”,我的编辑器中也出现了错误,因为它没有看到任何while或if语句作为continue语句)。我无法理解为什么continue语句不起作用,即使钩子是在循环中激发的。谁能解释一下吗?
还有,如何做到这一点(使用插件而不是主题,因为我希望即使在我更改主题时也不要显示空帖子)?
最合适的回答,由SO网友:Knownow 整理而成
我想用插件而不是主题来实现这一点。以下是方法:
function my_filter_where($where = \'\'){
return $where .= "AND trim(coalesce(post_content, \'\')) <>\'\'";
}
add_filter(\'posts_where\', \'my_filter_where\');