Comment coder un widget de menu de partition automatique dans WordPress
Si vous êtes un visiteur régulier de grands sites de commerce électronique ou de nouvelles, vous avez peut – être remarqué qu’ils ont des menus de mise en page et des liens vers toutes les pages de votre mise en page actuelle. L’ajout de l’un d’eux à votre site peut aider les utilisateurs à trouver du contenu pertinent et à réduire la fréquence des sauts. Mais il n’est pas facile de mettre en place un menu qui détecte automatiquement la zone de l’utilisateur et lui fournit des liens connexes. Vous pouvez ajouter un widget de menu personnalisé à la barre latérale, mais cela affichera le même menu sur chaque page du site. Alors, comment ajouter un menu pour identifier automatiquement l’emplacement du site que l’utilisateur navigue actuellement et fournir des liens vers d’autres pages dans cette section?
Dans cet article, je vais vous montrer comment écrire un plug – in pour y arriver. Il fait deux choses: premièrement, il détecte quelle partie de notre site et quelle partie est la page de haut niveau de cette partie. Il publie ensuite une liste de toutes les sous – pages de cette page de haut niveau, en commençant par un lien vers la page de haut niveau. Enfin, créez un widget qui peut être utilisé pour afficher le menu de zone. Si vos utilisateurs se trouvent sur une page de deuxième niveau, ils verront des liens vers la page ci – dessus et toutes ses sous – pages. S’ils sont sur la page supérieure, ils verront des liens vers la même page et tous vos enfants.
Remarque: J’ai téléchargé le Code de cet article sur github afin que vous puissiez le vérifier lorsque vous le suivez. Il s’agit d’un article basé sur le Code, donc vous devez faire plusieurs choses si vous voulez faire ce qui suit: installation de développement WordPress ou test. Éditeur de code. Remarque: cela peut également être utile si vous savez comment écrire un plug – in. Si c’est nouveau pour vous, consultez notre programme universitaire qui développe wordpress pour débutants. Commencez par créer votre propre plug – in vide. N
Ella votre répertoire WP content \/ plugins, créez un dossier pour votre plug – in, puis créez un fichier PHP vide. Donnez – lui un nom inoubliable et décrivez la fonctionnalité du plug – in.
Remarque: Bien que mon plug – in n’ait actuellement qu’un seul fichier, il est préférable de le mettre dans son dossier afin que vous puissiez facilement le faire plus tard si vous voulez ajouter des fichiers supplémentaires comme feuilles de style. Ouvrez un nouveau fichier et ajoutez: Load Summary d3f7a2bba519f51f9877e24803d9de9e activez maintenant le plug – in à partir de l’écran de gestion du plug – in. Vérifiez d’abord si nous sommes sur la page de haut niveau nous écrirons une fonction pour vérifier si nous sommes sur la page de haut niveau, dans ce cas, enregistrez l’id de page comme une variable pour une utilisation ultérieure. Si nous sommes sur une page de niveau 2, elle identifie la page de niveau 1 au – dessus et enregistre l’id de la page.
Dans votre plug – in, ajoutez ce qui suit: chargez le résumé d3f7a2bba519f51f9877e24803d9de9e jetons un coup d’oeil au Code et voyons ce qu’il fait: Tout d’abord, appelez la variable $post globale que nous utiliserons dans la fonction. Utilisez si ($post – > Post _ parent) pour vérifier si le poste actuel a un poste parent. Si c’est le cas, utilisez Array _ Reverse (get post ancêtre ($post – > ID) pour récupérer la liste des ancêtres du message courant et l’enregistrer dans une variable nommée $parents. Utilisez return $parents [0] pour retourner l’ID ancestral parent. Si le billet actuel n’a pas d’ancêtre, l’ID du billet actuel est retourné. Cela signifie que cette fonction renvoie l’une des deux choses suivantes: l’ID du message courant si le niveau du message courant est élevé, et l’id de son ancêtre principal s’il a un ancêtre.
Ensuite, nous utiliserons cet ID dans la fonction suivante. Liste des pages dans la section courante L’étape suivante consiste à utiliser cet ID pour lister les pages connexes. Maintenant dans le fichier plug – in, ajoutez la fonction vu
Ota: charger le résumé d3f7a2bba519f51f9877e24803d9de9e nous devons ajouter deux choses à cette fonction. Tout d’abord, nous allons définir, appeler wpmu _ check pour Top Page (), et définir les paramètres de get pages () et WP List pages (). Nous ajouterons ensuite du Code à la sortie de ces pages liées. D’abord, résolvons ce problème. Dans une fonction vide, ajouter ce qui suit:
Chargement du résumé d3f7a2bba519f51f9877e24803d9de9e nous avons appelé le résultat de la première fonction et l’avons sauvegardée comme variable nommée $ancêtre. Nous l’utilisons donc comme un des paramètres de get _ pages (). Le paramètre définit également la profondeur de la liste et son titre, qui est vide. Passons maintenant à la page avec le lien. Ajoutez toujours ce qui suit à votre fonction: chargez le résumé d3f7a2bba519f51f9877e24803d9de9e pour résoudre ce problème: d’abord, utilisez notre paramètre get _ pages () et définissez – le comme une nouvelle variable appelée $List pages. Par conséquent, vérifions si la variable est remplie, c’est – à – dire si get _ pages () renvoie quelque chose. Si c’est le cas, ouvrons un élément UL. Le premier élément de la liste est l’ancêtre lui – même. WP _ List pages () ne l’appelle pas parce qu’il renvoie tous les descendants de nos ancêtres, donc nous l’ajoutons manuellement. Vous pouvez omettre cette ligne si vous ne voulez pas inclure une page de haut niveau dans la liste. Ensuite, lancez WP _ List pages () avec les paramètres qui renvoient la liste des pages liées. Voici notre Code de configuration. Si vous préférez, il suffit d’ajouter la fonction wpmu _ List subpages () quelque part dans le fichier modèle de sujet pour l’exécuter (par exemple dans la barre latérale). Mais si on en fait un widget, ça nous donnera plus de flexibilité, alors faisons – le.
Créer un widget pour la sortie de la liste des pages
Utilisez le Code pour créer des widgets, mais je vais passer par le Code. Si vous souhaitez en savoir plus, créez votre propre Widget WordPress personnalisé via nos messages. La première étape consiste à utiliser la classe WP _ Widget pour définir nos fonctions Widget. Ajouter ceci au plug – in: Load Summary d3f7a2bba519f51f9877e24803d9de9e cette fonction doit contenir quatre éléments: la fonction Builder qui crée le Widget, la fonction form qui génère le formulaire dans l’écran de gestion du Widget (et le Programme personnalisé), Une fonction de mise à jour pour enregistrer n’importe quelle entrée dans le formulaire, et enfin une fonction pour exporter le contenu du Widget sur le site.
Dans vos fonctions, ajoutez d’abord le constructeur: Load Summary d3f7a2bba519f51f9877e24803d9de9e ajoutez maintenant des fonctions pour ajouter votre widget à l’écran de gestion du Widget et aux programmes personnalisés: Load Summary d3f7a2bba519f51f9877e24803d9de9e ceci créera le HTML qui affichera le formulaire dans l’écran de gestion. L’étape suivante consiste à ajouter une fonction de mise à jour. Si vous ne le faites pas, tout ce que vous ajoutez à l’écran de gestion n’est pas sauvegardé: chargez le résumé d3f7a2bba519f51f9877e24803d9de9e et, enfin, ajoutez le Code de sortie du contenu du Widget au site:
Chargez le résumé d3f7a2bba519f51f9877e24803d9de9e regardons le rôle de la dernière fonction: vérifiez d’abord si la page sur laquelle nous nous trouvons n’est pas la page d’accueil. Ceci est dû au fait que la page d’accueil n’a pas de sous – pages, de sorte que le menu de section ne doit pas être affiché. Si la situation est différente sur votre site, vous pouvez supprimer ce bit. Ensuite, selon la définition de la fonction de formulaire, Echo n’importe quel sujet avant le Widget et définit le titre du Widget (qui peut être édité dans l’écran d’administration). Ensuite, créez un élément aside, lancez le titre et lancez la fonction wpmu _ List subpages (). – moi.