Làm thế nào tôi chỉ có thể nhận được các điều khoản phụ huynh?


19

Có cách nào để chỉ nhận các điều khoản phụ huynh từ phân loại hoặc danh mục tùy chỉnh không?

Câu trả lời:


38

Có, chỉ cần chuyển tham số cha mẹ đến get_termskhi bạn gọi nó, như Michael chỉ ra.

Vì WP 4.5 nên đây là cách sử dụng được khuyến nghị:

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

Trước WP 4.5, đây là cách sử dụng mặc định:

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

Sẽ trả về tất cả các điều khoản có giá trị cha 0, tức là. điều khoản cấp cao nhất.


Nó trả về mảng trống cho các phân loại tùy chỉnh :(
Mamaduka

Các thuật ngữ trong phân loại đó có liên quan đến một bài đăng (hoặc loại tùy chỉnh) không? Nếu không, bạn sẽ cần chuyển hide_emptytham số, cài đặt thành thông số 0, để bạn có thể thấy các thuật ngữ hiện không được sử dụng.
t31os

Lưu ý rằng điều này sẽ chỉ nhận được cha mẹ cấp 1, thuật ngữ "mẹ". Để truy xuất tất cả tổ tiên, hãy sử dụng get_ancestors(TERM_ID, TAXONOMY, 'taxonomy') developer.wordpress.org/reference/fifts/get_ancestors
jave.web


2

đối với các mẫu email thương mại điện tử sử dụng như sau:

$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
vui lòng thêm một số giải thích, về cách mã của bạn có thể giải quyết câu hỏi. OP đã không đặt câu hỏi về các mẫu email thương mại điện tử.
iEmanuele

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

3
Làm thế nào khác với câu trả lời (đã được chấp nhận) được đề xuất hơn hai năm trước?
tfrommen

Bạn có thấy ý kiến ​​về câu trả lời (đã được chấp nhận) không? Nếu không có câu trả lời nào không hữu ích tại sao câu hỏi vẫn mở?!
ashraf mohammed

Có một truy vấn duy nhất liên quan đến các thuật ngữ không hiển thị, không liên quan đến câu hỏi ban đầu, tôi đã giải quyết vấn đề đó trong một bình luận trả lời (vì nó không ảnh hưởng đến tính hợp lệ hoặc tính chính xác của câu trả lời đã được cung cấp).
t31os

1
Vui lòng giải quyết rằng trong một chỉnh sửa. Giải thích mã của bạn.
kaiser
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.