Bagaimana saya bisa mendapatkan syarat induk saja?


19

Apakah ada cara untuk mendapatkan hanya syarat induk dari taksonomi atau kategori khusus?

Jawaban:


38

Ya, cukup berikan parameter induk get_termsketika Anda memanggilnya, seperti yang ditunjukkan Michael.

Karena WP 4.5 ini adalah penggunaan yang disarankan:

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

Sebelum ke WP 4.5 ini adalah penggunaan default:

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

Akan mengembalikan semua istilah yang memiliki nilai induk 0, yaitu. istilah tingkat atas.


Ia mengembalikan array kosong untuk taksonomi khusus :(
Mamaduka

Apakah istilah dalam taksonomi itu terkait dengan pos (atau jenis khusus)? Jika tidak, Anda harus meneruskan hide_emptyparameter, mengaturnya 0juga, sehingga Anda dapat melihat istilah yang saat ini tidak digunakan.
t31os

Perhatikan bahwa ini hanya akan mendapatkan orangtua level 1, istilah "ibu". Untuk mengambil semua leluhur, gunakan get_ancestors(TERM_ID, TAXONOMY, 'taxonomy') developer.wordpress.org/reference/functions/get_ancestors
jave.web


2

untuk templat email woocommerce gunakan yang berikut ini:

$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
tolong tambahkan beberapa penjelasan, tentang bagaimana kode Anda dapat menyelesaikan pertanyaan. OP tidak mengajukan pertanyaan tentang template email woocommerce.
iEmanuele

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

3
Bagaimana ini berbeda dari jawaban (sudah diterima) yang diajukan lebih dari dua tahun yang lalu?
tfrommen

apakah Anda melihat komentar pada jawaban (sudah diterima)? jika tidak ada lagi jawaban tidak berguna mengapa pertanyaannya masih terbuka ?!
ashraf mohammed

Ada satu permintaan sehubungan dengan istilah yang tidak muncul, yang tidak terkait dengan pertanyaan awal, saya menjawab masalah itu dalam komentar balasan (karena tidak ada kaitannya dengan validitas atau kebenaran jawaban yang sudah disediakan).
t31os

1
Harap atasi itu dalam suntingan. Jelaskan kode Anda.
kaiser
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.