wake-up-neo.com

is_taxonomy ist veraltet. Was ist die Alternative?

Nun, da die Funktion is_taxonomy($taxonomy) veraltet ist, woher weiß ich, ob eine Taxonomie existiert? Was ist die Alternative?

In einem zweiten Hinweis besagt der Codex für wp_insert_term(), dass ein Fehler ausgelöst wird, wenn die Taxonomie nicht existiert. Hier ist der Teil "Wenn Taxonomie existiert" für mich nicht eindeutig. Bedeutet dies, dass die Taxonomie derzeit mit der registrierten_Taxonomie registriert wurde, oder bedeutet dies, dass mindestens ein Begriff in der wp_term_taxonomy() -Tabelle mit dieser Taxonomie verknüpft ist?

Und meine dritte letzte Frage ist, wie ich einen Fehler abfange, wenn ein Fehler durch die Funktion wp_insert_term() ausgelöst wird.

Würde das funktionieren?

if (list($term_id,$taxonomy_id) = wp_insert_term(...)):
else:
  //error here?
endif;
1
Average Joe

Siehe Codex-Seite für is_taxonomy

Diese Funktion ist ab Version 3.0 veraltet. Bitte verwenden Sie stattdessen taxonomy_exists .

wp_insert_term prüft mit taxonomy_exists, ob die Taxonomie existiert. Dies bedeutet, wenn die Taxonomie eine registrierte Taxonomie ist. (Es wäre seltsam, wenn wp_insert_term nur Sie Taxonomien mit vorhandenen Begriffen einen Begriff hinzufügen könnten :))

Um einen Fehler abzufangen, können Sie is_wp_error verwenden. Z.B.

$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
Stephen Harris