Wordpress - 一起使用 meta_query 和 tax_query?

use*_*752 5 php wordpress

我一直试图在争论中使用tax_query和,但由于某种原因,这似乎不起作用。meta_queryWP_Query

我的代码是:

$args = array (
    'meta_key' => 'ratings_average',
    'orderby' => 'meta_value_num',
    'order' => 'DESC',
    'meta_query' => array(
        'relation' => 'AND',
        array(
            'key'      => 'eventstart',
            'compare'  => '>=',
            'value'    => $tonight, 
        ),
        array(
            'key'      => 'eventstart',
            'compare'  => '<',
            'value'    => $tomorow, 
        ),
    ),
    'tax_query' => array(
        array(
            'taxonomy' => 'Music',
            'field'    => 'slug',
            'terms'    => 'fri'
        ),
    ),
);  

$my_query = new WP_Query( $args );
Run Code Online (Sandbox Code Playgroud)

有谁知道我在代码中哪里出错了。任何帮助,将不胜感激。

之后print_r($args),它给了我以下结果:

Array (
    [meta_key] => ratings_average
    [orderby] => meta_value_num
    [order] => DESC
    [meta_query] => Array (
        [relation] => AND
        [0] => Array (
            [key] => eventstart
            [compare] => >=
            [value] => 17/04/14 00:00
        )
        [1] => Array (
            [key] => eventstart
            [compare] => <
            [value] => 18/04/14 00:00
        )
    )
    [tax_query] => Array (
        [0] => Array (
            [taxonomy] => Music
            [field] => slug
            [terms] => fri
        )
    )
)
Run Code Online (Sandbox Code Playgroud)

Har*_*nju 0

试试这个代码,

$args = array (
    'meta_key' =>'ratings_average',
    'orderby'=>'meta_value_num',
    'order' =>'DESC',
    'meta_query' => array(
        'relation' => 'AND',
        array(
        'key'       => 'eventstart',
        'compare'   => '>=',
        'value'     =>  $tonight,   
        ),
        array(
        'key'       => 'eventstart',
        'compare'   => '<',
        'value'     =>  $tomorow,   
        )
    ),
    'tax_query' => array(
        array(
        'taxonomy' => 'Music',
        'field' => 'slug',
        'terms' => 'fri',
        'operator'  => 'IN'
        )
    ),
);  

$my_query = new WP_Query($args);
Run Code Online (Sandbox Code Playgroud)

  • 是的,这样效果很好。如果我使用它们中的任何一个,它都可以正常工作,但同时使用它们就不行了 (2认同)