web-dev-qa-db-fra.com

Comment afficher un avertissement dans l'éditeur de publication lorsque vous essayez d'ajouter un nouveau terme à la taxonomie personnalisée?

j'ai une fonction que j'utilise pour empêcher les utilisateurs d'ajouter de nouveaux termes à des taxonomies personnalisées, voici le code:

add_action( 'pre_insert_term', 'prevent_terms', 1, 2 );
function prevent_terms ( $term, $taxonomy ) {
    if ( 'language' === $taxonomy) {
      return new WP_Error( 'term_addition_blocked', __( 'You cannot add terms to this taxonomy' ) );
    }

    return $term;
}

Cela fonctionne bien lorsque vous êtes sur la page de taxonomie personnalisée (/wp-admin/edit-tags.php?taxonomy=language), car vous voyez l'avertissement.

MAIS lorsque vous essayez d’ajouter un nouveau terme en sauvegardant un post, vous n’obtenez aucun avertissement, le terme n’est tout simplement pas sauvegardé. Ce dont j'ai besoin, c'est d'ajouter un avertissement à cette fonction pour que la personne qui enregistre une publication sache qu'elle ne peut pas ajouter de nouveaux termes à cette taxonomie.

Un moyen d'y parvenir? Merci.

4
Michael Rogers

Même si cela ne montre pas l'avertissement que vous demandez, vous pouvez toujours masquer le lien "ajouter un nouveau" à l'aide de l'action admin_head:

function yourprefix_admin_head() {
   echo '<style>
   #language-add-toggle {
      display: none;
   }
   </style>';
}
add_action('admin_head', 'yourprefix_admin_head');

L'ID d'élément est le nom de taxonomie suivi de -add-toggle.

Cela suffit dans la plupart des cas, sauf si vous pensez que vos utilisateurs sont un peu sournois. J'espère que ça aide.

7