web-dev-qa-db-fra.com

Changer le terme de taxonomie par slug (wp_update_term)

Ce que j'essaie d'accomplir est de mettre à jour un nom de taxonomie en utilisant son slug plutôt que le $ term_id

Wordpress le fait en:

<?php wp_update_term( $term_id, $taxonomy, $args )  ?>

Est-il possible de le faire via la limace à la place?

<?php wp_update_term( get_term_by( 'slug', $value, $taxonomy, $output, $filter ) )  ?>

Cela fait un moment que je suis coincé là-dessus, mais sans succès.

Les termes de taxonomie par défaut sont créés par un plugin. Je crée un plugin secondaire pour changer les termes de taxonomie créés par le plugin 'parent'.

Merci! Roc.

--- Modifier --- Devrait mentionner que je ne suis pas en mesure de mettre à jour le terme par identifiant car l'identifiant de taxonomie change en fonction de l'activation du plug-in et de l'existence éventuelle d'autres balises avant sa création.

1
Roc

Comme vous l'avez laissé entendre dans votre question, vous pouvez utiliser get_term_by() pour renvoyer un objet ou un tableau contenant l'identifiant du terme, puis l'utiliser pour mettre à jour ce terme. Quelque chose comme ça devrait marcher:

$your_term = get_term_by( 'slug', 'your_slug', 'your_taxonomy' );

if ( false !== $your_term ) {
    wp_update_term( $your_term->term_id, 'your_taxonomy', $args );
}

Références:

http://codex.wordpress.org/Function_Reference/get_term_by

http://codex.wordpress.org/Function_Reference/wp_update_term

1
BigBagel