是否将两个查询编译为一组结果?

时间:2015-12-25 作者:N00b

我有一个大问题post_type 有各种各样的过滤器。值取自<form> 输入。

我在添加3个不同的复选框到<form> 可以用作post_type 切换-这意味着您只能查询一个post_type 在这三个人中,每post_type 有我用jQuery显示/隐藏的自己的输入post_type 输入只应影响/过滤自身post_typepost_types 什么时候每个人都有自己的论点?

<小时>

Thoughts after few days of thinking about this:

<三个不同的查询(差,性能差)并将多个查询编译成一个循环?

虽然我有大量的查询参数,但它应该会大大加快查询速度,因为范围很窄,至少我的逻辑是这样的,而且三个不同的查询应该不会那么糟糕,即使每个查询都有数千条帖子?

我唯一担心的是,用户也可以在不填写任何输入的情况下进行查询,这意味着所有三个查询都是对所有帖子的查询。

包括几个post_types 似乎不可能-您不能使用不同的metastaxes 在不同的post_types 在同一查询中使用条件逻辑,对吗?

1 个回复
最合适的回答,由SO网友:Pmpr 整理而成

如果你对这三个都提出质疑,那就太好了post_type同时,使用一个查询,然后使用php.

考虑此查询:

$args = array(
    \'post_type\' => array( \'pt1\', \'pt2\', \'pt3\' ),
    \'meta_key\' => BUMP!!!!
);
不能使用meta_keys

所以,我认为唯一的方法是wp_db 对象并进行自定义查询:

$results = $wpdb->get_results( 
    "
    SELECT ID, post_title 
    FROM $wpdb->posts
    WHERE post_type = \'pt1\' OR post_type = \'pt2\' OR post_type = \'pt3\' 
        AND ...
    "
);

foreach( $results as $result ){
    echo $result->post_title;
    // ...
}
然后使用php 分离并显示结果。

相关推荐

使用新的WP-Query()从循环中过滤后期格式;

嗨,我目前正在为我的博客构建一个主题。下面的代码指向最新的帖子(特色帖子)。因为这将有一个不同的风格比所有其他职位。然而我想过滤掉帖子格式:链接使用我在循环中定义的WP查询,因为它给我带来了更多的灵活性。我该怎么做呢? <?php $featured = new WP_Query(); $featured->query(\'showposts=1\'); ?> <?php while ($featured->have_post