0

私を混乱させる WordPress tax_query があります。

商品に関する記事を掲載しています。各製品は、性別に関連するカテゴリにあります。

そのため、一部の投稿は「メンズ」にあり、一部は「レディース」にあります。ただし、一部の商品は「メンズ」と「ウィメンズ」の両方にあります。例えばバックパック。次に、一部の製品 (電化製品など) は「メンズ」にも「レディース」にもありません。

では、WP_Query を使用してクエリを実行するにはどうすればよいでしょうか。以下の私の試みを見ることができますが、投稿が「男性」と「女性」の両方にある場合は機能しません. 何かアイデアはありますか?

// Build Gender Tax-Query, based on known user gender
if($user_gender == 'male') {
    // User is a male
    $gender_query = array(
      'taxonomy'    => 'category',
      'field'   => 'slug',
      'terms'   => 'womens',
      'operator'    => 'NOT IN'
    );

} elseif($user_gender == 'female') {
    // User is a female
    $gender_query = array(
      'taxonomy'    => 'category',
      'field'   => 'slug',
      'terms'   => 'mens',
      'operator'    => 'NOT IN'
    );          
} else {
    // User is unknown gender
    $gender_query = array();
}

// Get posts
$args = array(
    'post_type'         => 'post',
    'post_status'       => 'publish',
    'posts_per_page'    => 2,
    'orderby'           => 'rand',
    'tax_query'         => array(
        'relation'      => 'AND',
        $gender_query
    ),
);
$posts = get_posts($args);

助けてくれてありがとう!

4

1 に答える 1