簡體   English   中英

根據帖子類型的多個 WP_Query args 組合

[英]Multiple WP_Query args combinations according to post type

我想根據帖子類型有單獨的meta_query arguments 。

例如,我想查詢有綠色領子的 T t-shirts或有綠色內襯的dress-shirts ,現在我只做一個帖子類型檢查,我檢查t-shirtsdress-shirts我分別檢查了元值,這意味着它也會顯示不同的組合,例如具有綠色內襯t-shirts

$query = new WP_Query(array(
    'post_type' => array('t-shirts', 'dress-shirts'),
    'meta_query' => array(
      'relation' => 'OR',
      array(
        'key' => 'collar',
        'value' => 'green',
      ),
      array(
        'key' => 'inner-lining',
        'value' => 'green',
      )
    ),
));

我如何設置它以使用兩個不同的參數,一個如果帖子類型是t-shirts ,一個單獨的 args 如果帖子類型是dress-shirts ,看起來像:

$query = new WP_Query(
  array(
    array(
      'post_type' => array('t-shirts'),
      'meta_query' => array(
        array(
          'key' => 'heal',
          'value' => 'green',
        )
      ),
    ),
    array(
      'post_type' => array('dress-shirts'),
      'meta_query' => array(
        array(
          'key' => 'sleeve',
          'value' => 'green',
        )
      ),
    ),
  )
);

做兩個單獨的查詢是行不通的,因為它會弄亂分頁。


請注意,這是wp.stackexchange上相同問題的副本,因為那里幾乎沒有活動。

WP_Query 不接受這種參數格式。 你可以試試下面的代碼

$query = new WP_Query(
    array(
        'post_type' => array( 't-shirts', 'dress-shirts'),
        'meta_query' => array(
            'relation' => 'OR',
            array(
                'key' => 'heal',
                'value' => 'green',
            ),
            array(
              'key' => 'sleeve',
              'value' => 'green',
            )
        )
    )
);

您還可以為每種帖子類型創建兩個 arrays 並將 wp_query 循環放在獲取參數的 function 中,因此您想要使用的任何地方都足以調用您的循環 ZC1C425268E68385D1AB5074 .

function wp_loop($args){

$post = 新的 WP_Query($args);

while($post->have_posts()): $post->the_post();

 ...

結束; wp_reset_postdata(); }

現在對於每個帖子類型,我們執行如下操作: $args = array( 'post_type'=>'t-shirts', ... ); wp_loop($args);

對於下一個帖子類型(禮服襯衫),我們的工作方式相同: $args = array( 'post_type'=>'dress-shirts', ... ); wp_loop($args);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM