ฉันจะรับเฉพาะเทมเพลตเทอมได้อย่างไร


19

มีวิธีใดบ้างที่จะได้รับเทมเพลตเทมเพลตจากอนุกรมวิธานหรือหมวดหมู่ที่กำหนดเองเท่านั้น?

คำตอบ:


38

ใช่เพียงส่งผ่านพารามิเตอร์พาเรนต์ไปยังget_termsเมื่อคุณเรียกใช้ดังที่ Michael ชี้ให้เห็น

ตั้งแต่ WP 4.5 นี่คือการใช้งานที่แนะนำ:

$myterms = get_terms( array( 'taxonomy' => 'taxonomy_name', 'parent' => 0 ) );

ก่อนหน้า WP 4.5 นี่เป็นการใช้งานเริ่มต้น:

$myterms = get_terms( 'taxonomy_name_here', array( 'parent' => 0 ) );

จะส่งคืนคำศัพท์ทั้งหมดที่มีค่าพาเรน0ต์คือ เงื่อนไขระดับสูงสุด


มันจะคืนค่าอาเรย์ที่ว่างเปล่าสำหรับ taxonomies ที่กำหนดเอง :(
Mamaduka

คำศัพท์ในอนุกรมวิธานนั้นเชื่อมโยงกับโพสต์ (หรือประเภทที่กำหนดเอง) หรือไม่? หากไม่ใช่คุณจะต้องผ่านhide_emptyพารามิเตอร์โดยตั้งค่าเป็น0ดังนั้นคุณจึงสามารถดูคำที่ไม่ได้ใช้ในปัจจุบัน
t31os

โปรดทราบว่าสิ่งนี้จะได้รับเฉพาะผู้ปกครองระดับ 1 คำว่า "แม่" ในการดึงข้อมูลบรรพบุรุษทั้งหมดให้ใช้get_ancestors(TERM_ID, TAXONOMY, 'taxonomy') developer.wordpress.org/reference/functions/get_ancestors
jave.web


2

สำหรับเทมเพลตอีเมล woocommerce ใช้สิ่งต่อไปนี้:

$terms = get_the_terms( $_product->id , 'product_cat');
    if($terms) {
        foreach( $terms as $term ) {
            $term = get_term_by("id", $term->parent, "product_cat");
            if ($term->parent > 0) {
                $term = get_term_by("id", $term->parent, "product_cat");
            }
            $cat_obj = get_term($term->term_id, 'product_cat');
            $cat_name = $cat_obj->name;
        }
    }
echo '<br />('. $cat_name . ')';

5
โปรดเพิ่มคำอธิบายเกี่ยวกับวิธีที่รหัสของคุณสามารถแก้ปัญหาได้ OP ไม่ได้สร้างคำถามเกี่ยวกับเทมเพลตอีเมลของ woocommerce
iEmanuele

1
 $archive_cats= get_terms( 'archivecat', 'orderby=count&hide_empty=0&parent=0' );

3
สิ่งนี้แตกต่างจากคำตอบ (ยอมรับแล้ว) ที่เสนอมานานกว่าสองปีที่ผ่านมาอย่างไร
tfrommen

คุณเห็นความคิดเห็นในคำตอบ (ยอมรับแล้ว) หรือไม่ หากไม่มีคำตอบเพิ่มเติมไม่มีประโยชน์ทำไมคำถามยังคงเปิดอยู่!
ashraf mohammed

มีคำถามเดียวเกี่ยวกับคำที่ไม่ปรากฏซึ่งไม่เกี่ยวข้องกับคำถามเดิมฉันได้กล่าวถึงปัญหานั้นในความคิดเห็นคำตอบ (เนื่องจากไม่มีความถูกต้องหรือความถูกต้องของคำตอบที่ให้ไว้แล้ว)
t31os

1
โปรดระบุที่อยู่ในการแก้ไข อธิบายรหัสของคุณ
ไกเซอร์
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.