Supprimer les sous-menu de la page “customize.php” dans WordPress 4.0
Quand je courais WP 3.9.2 j'ai été en mesure d'utiliser le code suivant pour supprimer le menu de personnalisation de l'élément de l'Apparence dans le menu admin.
function remove_customize() {
remove_submenu_page('themes.php', 'customize.php');
}
add_action('admin_init', 'remove_customize', 999);
Une fois que j'ai mis à jour 4.0, ce n'est plus de travail.
Vous devez vous connecter pour publier un commentaire.
WordPress base n'offre pas un crochet à nativement désactiver le thème customizer, mais il y est un astucieux et élégant de supprimer le “Personnaliser” lien dans le menu Apparence en modifiant le mondial
$submenu
variable:Tandis que d'autres exemples de code ici et d'ailleurs, de manière irresponsable, s'appuient sur des indices numériques de la global $sous-menu variable (par exemple,
$submenu['themes.php'][6][0]
, ...), cette méthode intelligemment parcourt la hiérarchie de sorte qu'il devrait être compatible avec les anciens (3.x) et les nouvelles versions de WordPress (4.x) comme.in_array
avec un tableau pour le "aiguille" ne fonctionne pas pour moi. Quand j'ai changé le "aiguille" pour une chaîne, il a travaillé à savoirin_array( 'customize', $menu_item )
.if ( in_array( 'Customize', $menu_item, true ) || in_array( 'Customizer', $menu_item, true ) || in_array( 'customize', $menu_item, true )) { }
.Cela fonctionne avec WordPress 4.0 et 4.1 et 3.x ici:
Edit: Ajusté pour WordPress 4.1 compatibilité:
Réponse devrait être:
La façon rjb utilisé un tableau comme l'aiguille dans in_array() dans la accepté de répondre ne fonctionne pas. Découvrez pourquoi dans les docs. J'ai remplacé in_array avec un autre foreach qui parcourt l' $menu_item des tableaux et des regards pour "personnaliser" dans le cadre de la valeur.
Fonctionne pour moi avec WordPress 4.9.6
Vous pouvez modifier directement le
$submenus
mondiale de la sorte:Je suis à l'aide de la même fonction, accroché dans
admin_menu
, comme je l'ai utiliser pour débloquer un administrateur d'autres éléments et il semble fonctionner correctementarray_search
mais puisque c'est un tableau multidimensionnel, vous pouvez utiliser une approche comme décrit dans la ce thread.Vous pouvez en fait utiliser
remove_submenu_page
pour supprimer le thème option de sous-menu de l'écran admin. Le truc, c'est que l'url doit correspondre à ce qui est exactement liée à l'admin pour que la fonction de travail.J'ai par programme déterminé l'url administration dans le cas où vous n'êtes pas simplement en utilisant "/wp-admin'. @isabisa Cela permettra aussi d'éviter la rupture dans l'avenir si l'index de l'élément de menu ne change jamais.
Je suis en utilisant ce dans la note WP 4.0 et il fonctionne très bien!
WordPress >= 4.9.8
La accepté de répondre par @rjb n'a pas fonctionné pour mon espagnol wordpress, mais simplement de changer le
Customize
àcustomize
a fait le tour.Enlever le menu n'est qu'une solution intermédiaire, car il n'est pas complètement désactiver la personnalisation. Afin de profiter pleinement et en toute sécurité désactiver le customizer (et aussi enlever le menu), vous devez retirer le personnalisateur de la permission de tous les utilisateurs. Quelque chose comme ce serait le faire:
Essayer de changer de 'admin_init' dans 'admin_menu'
@bash88 répondre et @Emanuel A. réponse fonctionne, mais si vous souhaitez également supprimer des boutons (bleu personnaliser les boutons) à partir des thèmes de la page de réponse devrait être:
Testé WordPress 5.0.3
Travaille dans wordpres 5.*
Retrait de Personnaliser à partir d'administration de WordPress, vous devez supprimer de la barre latérale et de la barre du haut en front-end ainsi
Depuis la barre de Menu
De Admin barre en haut (Dans Le front-End)
Ce sera complètement désactiver l'option de personnalisation 🙂
Pour WordPress 5