Bagaimana saya bisa mendapatkan syarat induk saja?

19

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

Mamaduka
sumber

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.

t31os
sumber
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 . ')';
3243
sumber
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' );
ashraf mohammed
sumber
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