To daje odpowiedź, gdy taksonomia jest niedostępna / nieznana .
W moim przypadku, gdy korzystam z get_term_by , były przypadki, w których istniał tylko termin Slug (brak identyfikatora terminu lub taksonomia). Co mnie tu doprowadziło. Jednak udzielona odpowiedź nie rozwiązała mojego problemu.
Rozwiązanie dla pustych $taxonomy
// We want to find the ID to this slug.
$term_slug ='foo-bar';
$taxonomies = get_taxonomies();foreach( $taxonomies as $tax_type_key => $taxonomy ){// If term object is returned, break out of loop. (Returns false if there's no object)if( $term_object = get_term_by('slug', $term_slug , $taxonomy )){break;}}
$term_id = $term_object->name;
echo 'The Term ID is: '. $term_id .'<br>';
var_dump( $term_object );
Wynik
TheTerm ID is:32object(WP_Term)public'term_id'=>int32public'name'=>string'Example Term'public'slug'=>string'example-term'public'term_group'=>int0public'term_taxonomy_id'=>int123public'taxonomy'=>string'category'public'description'=>string''public'parent'=>int0public'count'=>int23public'filter'=>string'raw'
W następujący sposób koncepcja pobiera tablicę $taxonomies, pętle przechodzi przez tablicę, a JEŻELI get_term_by()zwraca dopasowanie, natychmiast przerywa się z pętli foreach.
Uwaga: próbowałem znaleźć metodę, aby uzyskać powiązaną taksonomię (identyfikator lub dane Slug) z Term Slug, ale niestety nie jestem w stanie znaleźć niczego dostępnego w WordPress.
Utworzyłem funkcję i używam jej wielokrotnie w razie potrzeby.
function helper_get_taxonomy__by_slug($term_slug){
$term_object ="";
$taxonomies = get_taxonomies();foreach($taxonomies as $tax_type_key => $taxonomy){// If term object is returned, break out of loop. (Returns false if there's no object);if($term_object = get_term_by('slug', $term_slug, $taxonomy)){break;}else{
$term_object ="Warn! Helper taxonomy not found.";}}return $term_object;}
Odpowiedzi:
Funkcja, której szukasz, to
get_term_by
. Użyłbyś go jako takiego:Powoduje to,
$term
że jest obiektem zawierającym:Kodeks wykonuje świetną robotę, tłumacząc tę funkcję: http://codex.wordpress.org/Function_Reference/get_term_by
źródło
To daje odpowiedź, gdy taksonomia jest niedostępna / nieznana .
W moim przypadku, gdy korzystam z get_term_by , były przypadki, w których istniał tylko termin Slug (brak identyfikatora terminu lub taksonomia). Co mnie tu doprowadziło. Jednak udzielona odpowiedź nie rozwiązała mojego problemu.
Rozwiązanie dla pustych
$taxonomy
Wynik
W następujący sposób koncepcja pobiera tablicę
$taxonomies
, pętle przechodzi przez tablicę, a JEŻELIget_term_by()
zwraca dopasowanie, natychmiast przerywa się z pętli foreach.Uwaga: próbowałem znaleźć metodę, aby uzyskać powiązaną taksonomię (identyfikator lub dane Slug) z Term Slug, ale niestety nie jestem w stanie znaleźć niczego dostępnego w WordPress.
źródło
dzięki, to zadziałało dla mnie.
Utworzyłem funkcję i używam jej wielokrotnie w razie potrzeby.
źródło