является ли таксономия устаревшей. Какова альтернатива?


Теперь, когда функция is_taxonomy($taxonomy) устарела, как мне узнать, существует ли таксономия? Какова альтернатива?

Во втором примечании в кодексе для wp_insert_term() говорится, что если таксономия не существует, возникает ошибка. Здесь часть "если таксономия существует" для меня неоднозначна. Означает ли это, что таксономия в настоящее время зарегистрирована в registered_taxonomy, или это означает, что в таблице wp_term_taxonomy() есть хотя бы один термин, связанный с этим таксономия?

И мой 3-й вопрос, последний вопрос: как мне поймать ошибку, когда функция wp_insert_term() выдает ошибку?

Сработает ли это?

if (list($term_id,$taxonomy_id) = wp_insert_term(...)):
else:
  //error here?
endif;
Author: Sisir, 2012-04-10

1 answers

Смотрите страницу Кодекса для is_taxonomy

Эта функция устарела с версии 3.0. Пожалуйста, используйте taxonomy_exists вместо этого.

wp_insert_term использует taxonomy_exists, чтобы проверить, существует ли таксономия. Это означает, что таксономия является зарегистрированной таксономией. (Было бы странно, если бы wp_insert_term только вам разрешалось добавлять термин в таксономии с существующими терминами:))

Для обнаружения ошибки вы можете использовать is_wp_error. Например,

$result = wp_insert_term(...);
if ( is_wp_error( $result ) ) {
   $error_string = $result->get_error_message();
   echo '<div id="message" class="error"><p>' . $error_string . '</p> </div>';
}else{
   list($term_id,$taxonomy_id) = $result;
 }
 1
Author: Stephen Harris, 2012-04-11 00:02:00