Ты подтолкнул меня на это. Это именно то, что я хотел бы сделать.
xLRDxREVENGEx
1
Что если у вас нет таксономического слизняка?
EkoJR
2
Это дает ответ, когда таксономия недоступна / неизвестна .
В моем случае, при использовании get_term_by , были некоторые случаи, когда был только термин Term Slug (без идентификатора термина или таксономии). Что привело меня сюда. Тем не менее, предоставленный ответ не совсем решил мою проблему.
Решение для пустых $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 );
Результат
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'
Как следует ниже, концепция получает массив $taxonomies, проходит по массиву и IF get_term_by()возвращает совпадение, а затем немедленно выходит из цикла foreach.
Примечание. Я попытался найти метод для получения связанной таксономии (идентификатора или слаг) от Term Slug, но, к сожалению, я не могу найти ничего доступного в WordPress.
Я создал функцию и использую ее снова и снова по мере необходимости.
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;}
Ответы:
Функция, которую вы ищете, это
get_term_by
. Вы бы использовали его как таковой:В результате
$term
получается объект, содержащий следующее:Кодекс делает большую работу, объясняя эту функцию: http://codex.wordpress.org/Function_Reference/get_term_by
источник
Это дает ответ, когда таксономия недоступна / неизвестна .
В моем случае, при использовании get_term_by , были некоторые случаи, когда был только термин Term Slug (без идентификатора термина или таксономии). Что привело меня сюда. Тем не менее, предоставленный ответ не совсем решил мою проблему.
Решение для пустых
$taxonomy
Результат
Как следует ниже, концепция получает массив
$taxonomies
, проходит по массиву и IFget_term_by()
возвращает совпадение, а затем немедленно выходит из цикла foreach.Примечание. Я попытался найти метод для получения связанной таксономии (идентификатора или слаг) от Term Slug, но, к сожалению, я не могу найти ничего доступного в WordPress.
источник
спасибо, это сработало для меня.
Я создал функцию и использую ее снова и снова по мере необходимости.
источник