Obține ID-ul categoriei din slug-ul categoriei (nu funcționează)
Am găsit acest cod, care aparent obține ID-ul categoriei din slug-ul categoriei:
$category = get_category_by_slug('category-name');
$id = $category->term_id;
Dar când încerc să-l implementez în următorul cod, nu funcționează:
<?php
// listează termenii într-o taxonomie personalizată folosind wp_list_categories
$category = get_category_by_slug( 'military' );
$args = array(
'taxonomy' => 'product_cat',
'orderby' => 'name',
'show_count' => 0,
'pad_counts' => 0,
'hierarchical' => 1,
'title_li' => '',
'depth' => 2,
'child_of' => $category->term_id
);
?>
<ul class="test">
<?php wp_list_categories( $args ); ?>
</ul>
Încerc să afișez doar categoriile copil ale unei categorii părinte specifice. Dacă introduc direct ID-ul categoriei pentru "child_of", atunci funcționează perfect. Dar folosind codul de mai sus, continuă să afișeze toate categoriile. Din păcate, trebuie să o fac prin intermediul slug-ului, nu prin ID.
Aveți vreo idee?

Nu poți folosi get_category_by_slug()
cu o taxonomie personalizată. Trebuie să folosești get_term_by()
.
$category = get_term_by( 'slug', 'military', 'product_cat' );

A, nu mi-am dat seama de asta. Mulțumesc! Totuși, am încercat să înlocuiesc linia $category = get_category_by_slug... pentru a se potrivi cu ce ai scris mai sus, dar tot nu a funcționat. Trebuie să modific și linia "child_of"?

Poți să afișezi obiectul $category pentru a te asigura că există. var_dump( $category );
După apelul către get_category_by_slug().

Am făcut dump-ul și am primit asta: object(stdClass)#771 (10) { ["term_id"]=> string(3) "144" ["name"]=> string(31) "Military Bands" ["slug"]=> string(11) "military" ["term_group"]=> string(1) "0" ["avhec_term_order"]=> string(1) "0" ["term_taxonomy_id"]=> string(3) "144" ["taxonomy"]=> string(11) "product_cat" ["description"]=> string(238) "Watch Straps" ["parent"]=> string(1) "0" ["count"]=> string(3) "163" }

Ah! Am scris greșit 'category' în codul meu când am introdus noua linie. Argh. Mereu greșelile stupide sunt problema. Mulțumesc -- a funcționat!

Vezi de exemplu fără litere mari țipătoare: get_category_by_slug cum să obții ID-ul.
