J'écris un plugin dans lequel j'ai une taxonomie personnalisée (catégorie). Je veux prévenir
Y a-t-il un moyen de le faire?.
Supposons que cette catégorie avec id1-id10 que personne (administrateur inclus) ne puisse supprimer.
Si vous souhaitez empêcher la suppression d'un seul ou d'une liste d'ID de catégorie au sein de l'administrateur, vous pouvez le faire en bloquant toutes les demandes supprimant la catégorie.
Vous ne pouvez pas utiliser WordPress facilement, mais il y a toujours un moyen de contourner le problème. Dans mon exemple, j'utilise les crochets check_admin_referer
et check_ajax_referer
(notez la faute de frappe dans le nom du crochet), combinés à une vérification si la demande est en réalité une pour supprimer une catégorie (supprimer quelque chose dans la taxinonomie category
).
Exemple Plug-in à utiliser absolument : Exemple de suppression de catégories de blocs Wordpress
Lors de la suppression d'une catégorie bloquée, vous obtiendrez un message . Vous n'êtes pas autorisé à le faire. message (Ajax) ou un Cette catégorie est bloquée pour la suppression. et vous devez revenir avec votre navigateur.
vous pourriez utiliser
<?php $cats = wp_list_categories('echo'=>FALSE);?>
pour trouver les catégories, puis recherchez celles que vous voulez. Ensuite, vous pouvez utiliser
<?php wp_set_object_terms( $object_id, $missing_cat, 'category', TRUE ); ?>
pour les placer. Vous aurez besoin d’une publication qui ne vous dérange pas que toutes les catégories soient attribuées, une publication privée fonctionnerait bien ici.
Donc, le code final pourrait ressembler à quelque chose comme:
<?php
function cats_protector(){
$current_cats = wp_list_categories('echo'=>FALSE);
$my_cats = array('list','of','required','categories');
foreach ($my_cats as $cat){
if(!in_array($cat, $current_cats){
wp_set_object_terms( 15, $cat, 'category', TRUE );
}
}
}
add_action('init','cats_protector');
?>
Ce code est directement du cerveau, frais et non testé.
Il est à noter que cela n’empêchera pas la suppression, il les remettra directement tant qu’il sera appelé init.
Pour empêcher la suppression, vous POUVEZ chercher à masquer l'option avec CSS dans le panneau d'administration.
Je le fais avec une solution de contournement en utilisant le plug-in suivant pour charger les CSS personnalisés dans le panneau d'administration: http://wordpress.org/extend/plugins/custom-admin-css/ Et puis masquer l'option de suppression pour les articles/pages ou catégories requis.