首页 > 解决方案 > WP 几个 meta_query 匹配,并重复计算

问题描述

我设置了以下 meta_query。我想再添加一个条件。

我的问题是匹配两个 meta_query 条件的文章被 count(get_posts on the end.

是否可以添加这样的条件?如果 1bb 和 1aa 都匹配,则将其视为只有 1bb 匹配。

<?php
$args = array(
'category_name' => $cat,
'posts_per_page' => -1,
'post_type'   => 'post',
'post_status' => 'publish',

'meta_query' => array(
    'relation' => 'or',
        array(
        'key'=> '1bb',
        'value' => array($from , $to),
        'compare' => 'BETWEEN',
        'type' => 'DATE', 
        ),

        array(
        'key'=> '1aa',
        'value' => array($from , $to),
        'compare' => 'BETWEEN',
        'type' => 'DATE', 
        ),
    ),
);
echo count( get_posts( $args ) );
?>

谢谢你。

以下是我试图防止重复计算的附加代码。加载时间太长,无法使用。

'meta_query' => array(
    'relation' => 'or',

        array(                        
            'relation' => 'AND',
                array(
                    array(
                    'key'=> '1aa',
                    'value' => array($from , $to),
                    'compare' => 'BETWEEN',
                    'inclusive' => 'true',
                    'type' => 'DATE', 
                    ),

                   array(
                    'key'     => '1bb',
                    'compare' => 'NOT EXISTS',
                     ),
                ),
        ),

        array(
            'relation' => 'AND',
                array(
                    array(
                    'key'=> '1bb',
                    'value' => array($from , $to),
                    'compare' => 'BETWEEN',
                    'inclusive' => 'true',
                    'type' => 'DATE', 
                    ),

                   array(
                    'key'     => '1aa',
                    'compare' => 'NOT EXISTS',
                     ),
                ),
        ),

        array(
            'relation' => 'AND',
                array(
                    array(
                    'key'=> '1bb',
                    'value' => array($from , $to),
                    'compare' => 'BETWEEN',
                    'inclusive' => 'true',
                    'type' => 'DATE', 
                    ),

                   array(
                    'key'     => '1aa',
                    'compare' => 'EXISTS',
                     ),

                   array(
                    'key'     => '1bb',
                    'compare' => 'EXISTS',
                     ),                     
                ),
        ),

),

标签: wordpress

解决方案


推荐阅读