簡體   English   中英

WordPress get_category在forloop中不起作用

[英]WordPress get_category not working in a forloop

我正在嘗試根據woocommerce中給定的父產品類別顯示所有子產品類別的數據。 我可以使用WordPress函數get_term_children獲得一系列產品類別ID。

$category_children = get_term_children( 25, 'product_cat' );

foreach ( $category_children as $category_id ) {
    echo '<br> cat ID' . $category_id;

    echo '<pre>';
    print_r(get_category($category_id));
    echo '</pre>';
}

問題是當我嘗試循環顯示該數據時。 在這種情況下,我有兩個子產品類別。 我的循環只會返回除最后一個ID之外的所有ID的數據。 這就是我得到的。 奇怪的是,我可以看到循環正在從$category_children獲取所有ID。

cat ID 26
WP_Term Object
(
    [term_id] => 26
    [name] => Shirts
    [slug] => shirts
    [term_group] => 0
    [term_taxonomy_id] => 26
    [taxonomy] => product_cat
    [description] => 
    [parent] => 25
    [count] => 2
    [filter] => raw
    [meta_value] => 0
    [cat_ID] => 26
    [category_count] => 2
    [category_description] => 
    [cat_name] => Shirts
    [category_nicename] => shirts
    [category_parent] => 25
)
cat ID 27  

27的WP_Term對象在哪里?我沒有正確使用get_category還是需要取消設置它?

如果查看get_category()文檔 ,您會發現它使用了功能get_term()和分類法“ category”。

與其使用get_category來獲取您的學期孩子, get_term()直接使用get_term()

$category_children = get_term_children( 25, 'product_cat' );
    foreach ($category_children as $category_id) {
        echo '<br> cat ID' . $category_id;

        echo '<pre>';
        print_r(get_term($category_id, 'product_cat'));
        echo '</pre>';
    }
}

同樣, get_term($category_id)不能使用分類法“ product_cat”。

暫無
暫無

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

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