является ли таксономия устаревшей. Какова альтернатива?
Теперь, когда функция 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;
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;
}