Administrateur et éditeur: chargement de carrodaniel 1277236d434068a30311 jamp;rsquoai déjà dit que la fonction show _ admin BAR namp;rsquoa pas besoin damp;rsquoun appel de fonction de rappel. Alors, pouvez nous demander pourquoi nous utilisons le thème after _ Setup dans notre activité after Setup theme? Dans ce cas, si ce n’est pas le cas, WordPress renvoie le message d’erreur suivant:
Erreur irréversible: appel à la fonction non définie WP _ get current user () Ceci est dû au fait que la fonction current user can () récupère lamp;rsquoobjet utilisateur courant en utilisant WP get current user (). Cette dernière fonctionnalité namp;rsquoest pas disponible lors du chargement du plug in, donc nous devons nous assurer damp;rsquoappeler Current _ user can not (voir la liste des actions typiques dans le Codex dans lamp;rsquoordre chronologique) avant de charger lamp;rsquoaction plugins action. souhaitez appeler Current _ user can () à partir damp;rsquoun fichier de fonctions damp;rsquoun sujet (ou damp;rsquoun sous sujet), devez attacher la fonction after Setup Theme à lamp;rsquoopération after Setup theme.
Dans le deuxième exemple, nous supprimons la barre damp;rsquooutils pour tous les utilisateurs, à lamp;rsquoexception de lamp;rsquoadministrateur et de lamp;rsquoéditeur: chargez le carrodanile 2482f0d01e3e86817a04 si voulez que le code soit réutilisable, il est préférable damp;rsquoattacher la fonction à lamp;rsquoopération after _ Setup topic. Depuis la version 3.1, WordPress a fourni le filtre afficher _ admin bar, donc nous avons une autre façon d’effectuer la même tâche. Par exemple, nous pouvons cacher la barre damp;rsquooutils à tous les utilisateurs par une seule instruction: charger le chargeur 995968c60be0063f1ed5 qui est la même que la ligne suivante:
Chargez le carrodanile 885043f8e174eaab74ed, et nous pouvons également afficher masquer la barre damp;rsquooutils en fonction de la fonctionnalité de lamp;rsquoutilisateur: chargez le carrodanile 23bbe7b06f77875d19 dans ce cas, la barre damp;rsquooutils ne sera affichée quamp;rsquoaux administrateurs et aux éditeurs (ils peuvent publier des articles). Camp;rsquoest tout ce quamp;rsquoil nous faut savoir.
Quand nous avons décidé de supprimer la barre damp;rsquooutils. Que faire si nous voulons utiliser la barre d’outils pour fournir de nouvelles fonctionnalités pour l’installation WordPress? Personnaliser la barre damp;rsquooutils damp;rsquoadministration la barre damp;rsquooutils de contrôle de classe WP _ admin bar. En raison de la méthode de classe, nous pouvons ajouter et supprimer des éléments de menu (noeuds) et des groupes de projet.
Dans notre exemple, nous namp;rsquoutiliserons que les trois méthodes suivantes: Add _ Node () Add Group () get Node () le menu par défaut est défini dans la barre WP includes admin. Php. Certains d’entre eux sont à la disposition de tous les utilisateurs enregistrés, tels que le menu logo WordPress (qui affiche certains liens institutionnels), le menu mon compte (qui affiche certains liens liés à l’utilisateur actuel) et le menu nom du site (qui fournit un lien rapide vers le panneau d’administration). Mais WordPress nous permet d’ajouter des menus et des liens personnalisés, des informations textuelles et des champs de formulaire. Je n’expliquerai pas ici comment ajouter un projet à la barre d’outils, car nous avons déjà introduit ce thème dans la façon d’ajouter un projet à la barre d’outils WordPress. Au lieu de cela, je vais montrer deux exemples pratiques personnalisés, en commençant par une simple mise à jour de mon menu de compte damp;rsquointégration.
Comment ajouter un nouvel élément à un menu existant lorsque notre objectif est damp;rsquoajouter un noeud à la barre damp;rsquooutils en fonction du rôle de lamp;rsquoutilisateur, nous devons définir une fonction de rappel en paramétrant une instance de lamp;rsquoobjet WP _ admin bar. Cette fonction doit être connectée à lamp;rsquoaction admin _ bar menu, comme indiqué dans le code suivant: En chargeant le carrodanier d9f4c92a3a619734b0 mentionné précédemment dans nous pouvons créer de nouveaux menus et ajouter des liens aux menus existants. Dans cet exemple, nous fournirons aux utilisateurs actuels un lien rapide vers leur site Web personnel, en ajoutant un nouveau
Je connecte le noeud à mon menu damp;rsquointégration de compte.
Lors du chargement de la barre de gestion. En PHP, un nouveau Groupe de noeuds appelé Action utilisateur est ajouté au menu mon compte. Ce groupe de noeuds sera considéré comme le parent de tout nouveau lien personnalisé que nous ajoutons au menu. Le code suivant ajoutera un lien au Groupe: chargez damp;rsquoabord le carrodanile f51debe98eaec6cd6fc9, Récupérons lamp;rsquoobjet $Current _ user et vérifions samp;rsquoil samp;rsquoagit damp;rsquoune instance valide de WP user. Ensuite, nous obtenons lamp;rsquoobjet my account Node, qui correspond au menu my account situé à droite de la barre damp;rsquooutils. Enfin, si le métachamp user _ URL et lamp;rsquoobjet Node existent, nous ajoutons le noeud URL utilisateur au menu.
Le code ci dessus générera lamp;rsquoétiquette suivante: le menu généré par le chargement du chargeur a13448b5a5fb1ec056ea est montré dans la figure suivante. Menu personnalisé dans la barre damp;rsquooutils le menu par défaut en haut de mon compte est un exemple avancé: Menu conditionnel, type de poste personnalisé, etc. certains menus de la barre damp;rsquooutils ne sont disponibles que sur des pages spécifiques. Par exemple, le menu Édition damp;rsquoarticles fournit un lien rapide vers la page damp;rsquoédition de lamp;rsquoarticle courant ou de la terminologie de classification, qui namp;rsquoest affichée que dans les pages damp;rsquoarticles individuelles et les archives de classification.
Cela peut suggérer damp;rsquoafficher le menu dans certaines conditions. Dans lamp;rsquoexemple suivant, les conditions sont fournies par le rôle de lamp;rsquoutilisateur. Ensuite, nous pouvons afficher un menu spécifique au rôle à lamp;rsquoéditeur de site avec un ensemble de liens vers lamp;rsquoécran de gestion des messages en attente (un lien par type de message). Ce type de menu est très utile pour les sites multi auteurs, car de nombreux messages écrits par des utilisateurs (ainsi que des types de messages personnalisés) veulent être examinés pour publication. Revenons à la fonction.
Et ajoutez le code suivant: chargez le chargeur d9bf121dc35883160175 dans le code ci dessus et vérifiez damp;rsquoabord si lamp;rsquoutilisateur actuel est un éditeur. Dans lamp;rsquoaffirmative, nous ajouterons le noeud de haut niveau de lamp;rsquoéditeur de menu (qui namp;rsquoa pas de noeud parent). Ensuite, nous ajoutons le Groupe damp;rsquoaction de lamp;rsquoéditeur et définissons lamp;rsquoélément de menu de lamp;rsquoéditeur comme noeud parent. Camp;rsquoest la partie amusante. La fonction get _ post types récupère un tableau damp;rsquoobjets de type post personnalisés de la base de données (voir Codex pour plus damp;). Pour chaque type de Post, nous vérifions si lamp;rsquoutilisateur connecté a un rôle damp;rsquoéditeur (peut poster _ post). Par conséquent, nous obtenons un tableau de tous les messages en attente dans le type de message actuel et les comptons. Enfin, pour chaque type de Post, nous ajoutons un noeud au Groupe damp;rsquoaction de lamp;rsquoéditeur. Chaque lien pointera vers un écran de type post en attente. Le menu post en attente namp;rsquoest disponible que pour lamp;rsquoéditeur de site E. si souhaitez personnaliser votre présentation de menu avec une belle icône dashicon set, ajoutez le code suivant au plug in ou au fichier de fonctions. PHP: Load carrodaniel 2fcc5228f27564d0e764 les fonctions que nous connectons à lamp;rsquoaction WP _ Head sont limitées aux éléments de style de graphe dans lamp;rsquoen tête du document. Bien sûr, ce namp;rsquoest pas une bonne pratique damp;rsquoattacher des styles à un document, mais ici je suppose que nous namp;rsquoavons besoin que damp;rsquoune seule déclaration de style. Le chargement de lamp;rsquoensemble du fichier CSS namp;rsquoest pas une option valide. Cependant, si souhaitez fusionner la barre damp;rsquooutils avec lamp;rsquoapparence graphique du site, devez outrepasser le style déclaré dans WP includes CSS admin bar. CSS et les feuilles de style sont mises en file d’attente de la bonne façon et expliquées en ajoutant des scripts et des styles à WordPress de la bonne façon. Bien que la barre damp;rsquooutils soit enveloppée à gauche, elle peut sembler une tache nécessaire et désagréable en haut du site. Mais si
Personnaliser (ou supprimer) la barre d’outils de gestion WordPress