Développement wordpress pour les utilisateurs intermédiaires: champs personnalisés et métadonnées
\
Quatre tables de base de données sont disponibles pour les données: WP _ posts: pour tous les types de messages (y compris les pages, les pièces jointes et les types de messages personnalisés) WP commentaires: pour les commentaires WP utilisateurs: pour les utilisateurs WP terms: pour les termes de classification, chaque table a un tableau correspondant pour les métadonnées des types de données pertinents: WP postmeta pour les métadonnées des messages (ou champs personnalisés). Wp \ u commentmeta for comment Metadata (for example, Data added by Commentary plugins such as akismet) WP \ u usermeta for user Metadata (for example, Role and dashboard Settings) WP \ u termmeta for Taxonomic term Metadata (for example, term description). À ce stade, vous n’avez pas à vous inquiéter trop de tout cela – la base de données sera examinée plus en profondeur dans notre prochain cours Academy WordPress Development for advanced users. Tout ce que vous devez savoir, c’est l’existence des métadonnées et la façon d’y accéder, et si vous continuez à lire, vous le découvrirez.Ajouter et afficher des champs personnalisés il est facile d’ajouter des champs personnalisés, mais pour les afficher, vous devez écrire du Code dans le sujet ou vous connecter via un plug – in. Voyons – les tous les deux. Ajouter des champs personnalisés la façon la plus simple d’ajouter des métadonnées de poste est d’utiliser l’interface de champ personnalisée intégrée dans l’écran d’édition de poste. Voici un billet du site de démonstration que j’ai utilisé dans cette série: L’ajout d’un champ personnalisé est simple, il suffit de saisir son nom (stocké sous forme de clé dans la base de données) et sa valeur (stockée sous forme de valeur): Une fois ajouté, vous pouvez l’utiliser à nouveau
Le nom des autres champs personnalisés sur ce billet et d’autres. Afficher les champs personnalisés si vous voulez afficher les valeurs des champs personnalisés, vous devez ajouter du Code au sujet. Ou, si vous avez des crochets dans votre sujet, vous pouvez les insérer en utilisant des plug – ins que vous avez appris dans cette série. Nous ajoutons un affichage de champ personnalisé à un modèle de post individuel dans le sujet. Ouvrez d’abord le fichier Template dans le sujet, qui affiche la boucle des messages individuels. Le thème de cette série est le cycle unique. Php. Si vous ne l’avez pas encore fait, vous pouvez télécharger la partie 5 du sujet à partir des fichiers sources de la série sur github.
Remarque: Si vous utilisez des sujets, vous devrez peut – être utiliser des fichiers modèles supplémentaires. Adaptez ce que je fais ici à votre sujet. Un seul fichier dans une boucle. Php, trouvez le code suivant: chargez le contenu b3d917560623cf00098091eb24624985 nous devons inclure les métadonnées du message dans la Nouvelle balise de condition. Tout d’abord, nous ajoutons des balises supplémentaires. Modifier le code suivant: charger le contenu b3d917560623cf00098091eb246244985, puis ajouter la fonction the _ Meta () dans DIV: charger le contenu b3d917560623cf00098091eb246244985 enregistrer le fichier et voir les messages avec des champs personnalisés ajoutés. Ce n’est pas parfait pour le moment, mais avec la méta – classe post à laquelle vous pouvez accéder, nous avons défini des types de post personnalisés dans les premières parties de cette série. Je veux supprimer les points de liste et changer les marges et le remplissage, donc je vais apporter quelques changements à la Feuille de style. Vous pouvez les trouver dans les fichiers sources de cette partie de la série.
Voici ma version finale: Vous pouvez ajouter le style désiré. Notez que j’utilise la balise span que WordPress insère automatiquement autour du nom de champ personnalisé à ajouter
C’est un style audacieux. Si vous voulez avoir un meilleur contrôle sur la façon dont les métadonnées de l’article sont affichées dans chaque article, vous pouvez utiliser la fonction get _ post Meta () et ensuite utiliser get post Meta () pour obtenir les résultats. Vous pouvez voir son application pratique dans notre post sur la façon d’utiliser les champs personnalisés, que je vais couvrir plus loin dans cette série. Il est bon d’utiliser l’interface des champs personnalisés pour créer une métabox personnalisée pour post Meta, mais elle ne vous donne pas beaucoup de contrôle et peut causer des erreurs à l’utilisateur. Que se passe – t – il si vous voulez limiter la valeur du métachamp post à quelques options sans permettre aux utilisateurs de taper eux – mêmes? Ou voulez – vous prédéfinir certains métachamps post pour la cohérence?
Vous pouvez utiliser la fonction add _ Meta box () pour créer une méta – boîte dans l’écran post – édition. Cette fonction a au moins sept Paramètres: charger le contenu b3d917560623cf00098091eb246244985 les paramètres sont: $id: ajouter l’ID CSS $title à la DIV qui contient la méta – boîte: le nom de la méta – boîte, comme indiqué sur la page d’édition du rappel post $: le nom de la fonction qui contient le HTML de la méta – boîte $post type: le type de contenu qu’elle utilisera Cette méta – boîte est disponible (vide pour tous) $contexte: où se trouve la méta – boîte – normal, avancé ou latéral $$priorité: affiche la priorité de la méta – boîte: élevée, centrale, par défaut ou faible doit être affichée sur la page d’édition. Le paramètre par défaut est (comme prévu) \
Est ajouté par des crochets dans mon sujet.
Ensuite, commencez à créer un nouveau plug – in et ajoutez le texte d’annotation commun en haut. La première étape de la création d’une méta – boîte est d’écrire une fonction pour créer une méta – boîte. Dans votre plug – in, ajoutez ce qui suit: chargez le contenu b3d917560623cf00098091eb246244985 ceci définit la méta – boîte en utilisant les paramètres suivants: wpmu \ u id de la méta – boîte titre \
Créer une fonction de rappel une fonction de rappel définit ce qui est affiché à l’écran après l’édition, qui est un module. Vous devez utiliser la fonction get _ post Meta () pour afficher les valeurs d’une métaclé spécifique. Ajoutez ceci au plug – in: charger le contenu b3d917560623cf00098091eb24624985 voyons ce qu’il fait: ouvrir un élément du formulaire. Ajoutez un champ nonce qui n’est pas visible pour l’utilisateur, mais qui aide à améliorer la sécurité: Avant d’enregistrer les métadonnées, vérifiez le champ nonce pour vous assurer que l’utilisateur a ajouté les métadonnées en utilisant cette boîte de métadonnées, sinon vous ne le ferez pas. Utilisez get _ post Meta () pour récupérer la valeur du nouveau champ wpmu Weather et assigner la valeur à la variable $Weather. Créez une table pour nos champs. Créez un champ avec la variable $Weather. Fermez maintenant le plug – in d’enregistrement des éléments de formulaire et visualisez l’écran post – édition sur le site (assurez – vous d’activer le plug – in en premier). Voici le mien: Vous remarquerez que le champ météo wpmu a également été ajouté aux champs personnalisés ci – dessous. Ça pourrait être déroutant, donc on va s’en occuper bientôt. Si vous digérez
Certains contenus de cette métabase ne peuvent pas être sauvegardés. C’est parce que nous devons encore y ajouter une fonction. Ajouter une fonction pour enregistrer les métadonnées ajoute maintenant une troisième fonction: charger le contenu b3d917560623cf00098091eb24624985 néanmoins, regardons la fonction: vérifier que nonce est défini, ce qui ne se produit que lorsque l’utilisateur entre une nouvelle valeur en utilisant la boîte de métadonnées. Vérifiez que l’utilisateur actuel a la fonction Edit _ Post, c’est – à – dire qu’il est autorisé à le faire. Vérifiez si de nouvelles valeurs ont été ajoutées à nos champs. Dans ce cas, il remplace l’ancienne valeur par la nouvelle et l’enregistre dans la base de données. Essayez maintenant d’ajouter une valeur au champ et d’enregistrer le message: Laisse – le travailler. Regardons à quoi il ressemble sur le site: Ça n’a pas l’air bon. Comme nous utilisons le nom wpmu _ Weather Field au lieu d’un nom plus convivial, ce n’est pas très agréable à lire. Nous pouvons résoudre ce problème en changeant le nom, mais je ne veux pas, parce que c’est une bonne pratique d’utiliser un nom unique avec un suffixe. Changeons donc la façon dont les métadonnées sont émises. Exportation de métadonnées plus de contrôles pour ajouter plus de contrôles à l’exportation de métadonnées, utilisez la fonction get _ The Meta () pour remplacer Meta () par un contenu différent. Ajoutez – le à notre plug – in et activez – le avec le crochet wpmu _ after content dans le sujet. Si votre sujet n’a pas de crochets d’action après le contenu, ajoutez – en un. Dans la première partie de cette série, vous avez appris à le faire. Dans le plug – in, ajoutez la fonctionnalité suivante: chargez le contenu b3d917560623cf00098091eb246244985 cette fonctionnalité fonctionne comme suit: vérifiez que nous sommes dans un article. Dans l’affirmative, définissez le précieux $Météo en utilisant get _ post Meta (). Notez que pour récupérer l’ID du message courant, j’ai utilisé get _ The ID () parce que nous ne sommes pas dans la boucle. Il crée ensuite une DIV et une liste non ordonnée et émet une portée dans le premier élément de la liste, suivie de la valeur de la variable $weat
Leur rôle, mais l’utilisation la plus courante est de fournir des informations sur les auteurs. Chaque auteur d’un site Web possède son propre profil d’auteur, auquel vous pouvez fournir des renseignements sur l’auteur au lecteur en y ajoutant des métadonnées utilisateur. Vous pouvez également ajouter des métadonnées d’auteur à des messages individuels. Nous avons ajouté quelques métadonnées d’auteur au fichier modèle de feuille circulaire. Php, et quelques métadonnées de post qui contiennent des informations sur la date à laquelle le post a été écrit. Dans le sujet, ouvrez un seul fichier en boucle. Php. Trouver des articles . Ajouter: charger le contenu b3d917560623cf00098091eb24624985 enregistrer le fichier. Ceci indique le nom de l’auteur et la date à laquelle l’article a été écrit. Parce que j’a I inclus une balise conditionnelle, elle n’est exécutée que sur un post, pas sur un projet. Remarque: vous avez peut – être remarqué qu’il y a maintenant deux balises de condition dans un seul fichier en boucle. Php. Vous voudrez peut – être créer une version différente de ce fichier pour chaque type de post. Vous devriez être en mesure d’utiliser le contenu de la première partie de cette série sur la hiérarchie des modèles pour voir comment vous pouvez le faire. L’auteur et la date sont maintenant affichés sur mon site Web: Rendons – le plus utile, y compris un lien vers la page d’archive de l’auteur. Pour ce faire, remplacez la balise _ author () par author posts Link (). Modifiez votre code comme suit: chargez le contenu b3d917560623cf00098091eb24624985 maintenant, le nom de l’auteur affiche un lien: Vous pouvez également consulter les métadonnées associées aux termes de catégorisation – vous devez vous rappeler que vous l’avez appris plus tôt dans cette série. Pourquoi ne pas essayer d’appliquer ce que vous avez appris dans la section précédente sur la façon d’utiliser une taxonomie personnalisée à un seul fichier circulaire. Php ajoute également des termes catégorisés pour les articles aux pages des articles individuels. Je ne vais pas entrer dans les détails, mais je vais vous donner quelques conseils: