簡體   English   中英

使用WP_Query編寫查詢

[英]Writing query using WP_Query

我有2類cat-slug1和cat-slug2。 其中,cat-slug1是cat-slug2的父級。 我想編寫一個查詢,其中我想要屬於cat-slug1和cat-slug2的那些結果。

如果一個帖子被標記為cat-slug2但未標記為cat-slug1,那么我不想在結果中獲得此記錄。

如何修改下面的代碼,使其僅返回屬於cat-slug1和cat-slug2的結果

$paged2 = isset( $_GET['paged2'] ) ? (int) $_GET['paged2'] : 1;


$args2 = array('abc_category' => 'cat-slug1',   
               'abc_category' => 'cat-slug2',       
                      'post_type' => 'abc',
                'paged'     => $paged2,
                'posts_per_page' => 20,
                'orderby' => 'title',
                'order' => 'asc');  

            $query2 = new WP_Query( $args2 );

進行兩次查詢怎么樣?

$posts_cat1 = array(...)
$posts_cat2 = array(...)

$posts_cat1_and_cat2 = [];
foreach($posts_cat1 as $post){
    if(in_array($post, $array_cat2)) array_push($posts_cat1_and_cat2, $post);
}

編輯:

請注意,如果您希望WP_Query僅獲取帖子,則可以將其替換為get_posts 這里有一些更新(未試用):

function get_posts_by_cat($cat){
    $args = array('category'=>$cat);
    return get_posts($args);
}

$posts_cat1 = get_posts_by_cat('cat-slug1');
$posts_cat2 = get_posts_by_cat('cat-slug2');

$posts_cat1_and_cat2 = [];
foreach($posts_cat1 as $post){
    if(in_array($post, $array_cat2)) array_push($posts_cat1_and_cat2, $post);
}

更多參數: http : //codex.wordpress.org/Template_Tags/get_posts

暫無
暫無

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

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