J'ai essayé de trouver un moyen de masquer/désactiver le menu déroulant Parent à partir de l'écran Messages -> Catégories.http://example.com/wp-admin/edit-tags.php?taxonomy=category
J'ai pu cacher l'option "Slug" à travers cette fonction ici:
// Admin - Global Terms Enabled
function disable_global_terms($enablefalse) {
return 1;
}
add_filter( 'global_terms_enabled', 'disable_global_terms' );
Est-il possible de faire de même pour le menu déroulant des parents sans supprimer ce code des fichiers principaux WP, de sorte que je devrais le faire chaque fois à chaque mise à jour?
Si vous supprimez du code des fichiers WordPress principaux , cela signifie que vous connaissez un tas de fichiers PHP, il est donc temps d’apprendre à faire les choses sans toucher à fichiers de base .
Note latérale sur le crochet présenté dans la question:
le filtre global_terms_enabled
ne fonctionne que pour le multisite (/wp-includes/functions.php
, ligne 3006).
Dans de nombreux cas, il n'y a pas de points d'ancrage pour modifier l'interface administrative. La modification doit donc être effectuée avec CSS ou jQuery.
La solution ci-dessous montre comment imprimer des scripts sur un écran spécifique (edit-tags.php
) du admin_head-SCREEN-ID.php
. Là, de nombreux contrôles peuvent être effectués, dans ce cas, les paramètres d'URL.
add_action( 'admin_head-edit-tags.php', 'wpse_58799_remove_parent_category' );
function wpse_58799_remove_parent_category()
{
// don't run in the Tags screen
if ( 'category' != $_GET['taxonomy'] )
return;
// Screenshot_1 = New Category
// http://example.com/wp-admin/edit-tags.php?taxonomy=category
$parent = 'parent()';
// Screenshot_2 = Edit Category
// http://example.com/wp-admin/edit-tags.php?action=edit&taxonomy=category&tag_ID=17&post_type=post
if ( isset( $_GET['action'] ) )
$parent = 'parent().parent()';
?>
<script type="text/javascript">
jQuery(document).ready(function($)
{
$('label[for=parent]').<?php echo $parent; ?>.remove();
});
</script>
<?php
}