在SQL中查询多个帖子类型

时间:2017-05-03 作者:repoman84

我的网站正在使用一个插件来显示存档小部件。它仅显示“post”post类型。我目前有三种不同的帖子类型。查看我发现的代码:

$where = apply_filters( \'getarchives_where\', "WHERE post_type = \'post\' AND post_status = \'publish\' AND post_date <= now()" );

这似乎很容易解决。首先我改变了WHERE post_type = \'post\' to WHERE post_type = \'privacy, security\' 但那没用。

然后我做到了WHERE post_type => array(\'privacy\', \'security\') AND post_status = \'publish\' AND post_date <= now()" );但这也行不通。”

1 个回复
SO网友:Morgan Estes

需要注意的几件事;一个是WordPress问题,另一个是SQL问题:

对于WordPress,您应该使用\'getarchives_where\' 过滤它提供的内容,并在那里更改查询。

对于SQL,为了查询多个帖子类型,您需要在查询中使用条件语句,因此查找“隐私”和“安全”帖子类型需要ORIN.

WHERE post_type IN (\'privacy\', \'security\') 
    AND post_status = \'publish\' 
    AND post_date <= now()
将其与插件的过滤器相结合,可以得到:

apply_filters( \'getarchives_where\', function( $where ) {
   return \'WHERE post_type IN ("privacy", "security") AND post_status = "publish" AND post_date <= now()\';
    }, 10, 1 );

相关推荐

自定义Post-type未返回正确的Child_Of

Situation我正在使用高级自定义字段插件为自定义帖子类型设置一个复选框。如果选中此框,则此查询应返回该框。到目前为止,查询工作正常。The issue我希望它显示的页面都是一个页面的子页面。这个查询返回带有复选框的所有页面,而不是只返回带有复选框的当前页面的子页面。My code页面顶部<?php $tid = get_the_ID(); ?> 沿着页面进一步<?php $i == 0; global $post; $myposts =