Quelqu'un sait-il comment ajouter un séparateur de menu administrateur? J'ai trouvé ça mais ça n'a pas aidé.
Des idées?
admin
admin-menu
user1147
la source
la source
Réponses:
Voici un moyen rapide et sale d'obtenir ce que vous voulez.
Contexte
WordPress stocke les sections du menu d'administration dans un tableau global appelé
$menu
. Pour ajouter un séparateur, vous ajoutez un élément au$menu
tableau à l'aide d'un index situé entre les index des options que vous souhaitez séparer.Utilisation de la
add_admin_menu_separator()
fonctionJ'ai donc écrit une fonction pour encapsuler la logique de ce que j'ai appelé
add_admin_menu_separator()
. Vous devrez choisir un numéro d'index de tableau supérieur à l'option après laquelle vous souhaitez ajouter un séparateur, puis appeler la fonction enadd_admin_menu_separator()
passant ledit index comme paramètre.Par exemple:
La
add_admin_menu_separator()
fonction elle-mêmeVoici la définition de la fonction
add_admin_menu_separator()
que vous pouvez copier dans lefunctions.php
fichier de votre thème . Oui, c'est obscur, mais le code qui crée et utilise le$menu
tableau global l'est également . (Il est prévu de le déprécier éventuellement, heureusement, mais ce sera probablement dans quelques années.)Trouver l'indice
$menu
dont vous avez besoinPour savoir quel numéro d'index dont vous avez besoin , vous pouvez faire
var_dump()
de l'$GLOBALS['menu']
intérieur d' unadmin_init
crochet. Voici un peu de code que vous pouvez déposerfunctions.php
temporairement dans le fichier de votre thème pour voir quelles sont les valeurs. Cela ne fonctionnera que lorsque vous demanderez une URL commençant par/wp-admin/
(mais assurez-vous de le faire avec FTP et non avec l'éditeur de thème intégré ou vous perdrez l'accès à votre site, au moins jusqu'à ce que vous obteniez un accès FTP aufunctions.php
fichier de votre thème !) :Voir également:
BTW, vous trouverez peut-être ces liens utiles en général pour travailler avec les menus d'administration:
wp-admin-menu-classes.php
Bien que mes classes de menu d'administration n'offrent pas actuellement un moyen facile d'ajouter des séparateurs, je pense que j'ajouterai maintenant cela quand j'aurai le temps.
la source
C'est aussi simple que:
Remarque: La position du séparateur par défaut (
$menu[4]
) peut être différente selon la configuration que vous (ou vos plugins) avez effectuée avant ce crochet.Bien sûr, vous pouvez également modifier l' introspection
menu-top-first
et lesmenu-top-last
classes.la source
Si certains problèmes avec les séparateurs n'étaient pas ajoutés, cela était dû à la façon dont wordpress supprime les séparateurs en double. L'ajout
ksort($menu);
au bas de la fonction a corrigé le problème.la source
Cela s'appuie sur la réponse de MastaBaba, mais ne remplace rien à la position que vous spécifiez - il ajoute simplement le séparateur par la suite.
Utilise également une fonction anonyme, il n'est donc compatible qu'avec PHP version 5.3 et supérieure.
la source
Il est un peu difficile de déterminer ce que vous essayez de faire, mais je pense que vous cherchez à ajouter une entrée de niveau supérieur dans le menu d'administration de WordPress.
Voir cette documentation dans le Codex WordPress.
En bref, vous recherchez l'utilisation de la
add_menu_page()
fonction, qui prend un certain nombre d'arguments et affiche un élément supplémentaire dans le menu administratif en tant que frère de "Dashboard", "Posts", "Media", etc.J'espère que j'ai bien compris. :-)
la source
add_menu_page()
.Ce qui suit annonce une action sur Wordpress qui est exécutée lorsque le menu d'administration est affiché. Le menu d'administration est un tableau et tout ce que vous faites, ici, est d'ajouter un élément de tableau qui définit un séparateur, à la position que vous spécifiez.
D' ici :
Notez que, bien que cela ressemble plutôt à la réponse actuellement acceptée, la réponse actuellement acceptée n'a pas fonctionné pour moi (et, à en juger par les commentaires, pour plusieurs autres).
la source