Maison >Tutoriel CMS >WordPresse >Le guide définitif des types de publiques personnalisées WordPress
disparu les jours où WordPress était appelé logiciel de blog.
La possibilité d'étendre ses fonctionnalités via des plugins et des thèmes, des poteaux de groupe ou des données structurées en différents types ainsi que l'arrivée de l'API WP REST dans le noyau, l'a vu évoluer davantage en un système de gestion de contenu et une plate-forme de développement à part entière.
Au fil des ans, j'ai développé avec succès un certain nombre d'applications Web personnalisées construites WordPress sur le dessus qui utilisent fortement les types de publiques personnalisées. Un exemple de l'une de ces applications Web est le marché à thème de mon plugin WordPress appelé ProfilePress.
En regardant de plus près le marché de thème lié ci-dessus, vous découvrirez qu'il utilise un système de pagination personnalisé évident dans l'URL des liens de pagination suivants / précédents. Ainsi, il vous est possible de construire un système de pagination interne qui fonctionnera parfaitement en interrogeant un type de poste personnalisé (CPT).
Assez dit, passons au but de ce tutoriel qui est d'apprendre les subtilités des types de publiques personnalisés dans WordPress.
J'espère aborder les nombreux obstacles que j'ai rencontrés personnellement en travaillant avec CPTS ainsi que des choses sympas que vous pouvez en faire.
WordPress peut contenir et afficher de nombreux types de contenu différents. Un seul élément de ce contenu est généralement appelé message, bien qu'un post soit également un type de publication spécifique.
En interne, tous les types de publication sont stockés au même endroit, dans la table de base de données WP_Posts, mais sont différenciés par une colonne appelée post_type.
Le type de post fait référence aux différentes données structurées regroupées qui sont maintenues dans le tableau des poteaux de base de données WordPress.
Des exemples de types de publication sont le message (un groupe de messages de blog), la page (un groupe de pages), la pièce jointe (un groupe de fichiers multimédias téléchargés) et la révision (un groupe de révisions de publication) à WordPress.
armé de la définition du type de message, un nouveau type de message qui est créé et enregistré sur WordPress est appelé type de message personnalisé.
Si vous créez une entreprise ou un site Web d'entreprise avec WordPress, des exemples de types de publication que vous pourriez créer sont le portefeuille, les témoignages et les produits.
Maintenant que nous avons compris le concept de types de messages personnalisés, le prochain apprend à les créer.
La création d'un type de message personnalisé est assez facile. Tout d'abord, enregistrez le type de publication avec la fonction register_post_type () et enfin, enveloppez Register_post_type () dans un appel de fonction et accrochez-le à l'action init comme SO:
<span><span>function portfolio_cpt() {</span> </span> <span>$args = array( </span> <span>'label' => 'Portfolio', </span> <span>'public' => true, </span> ); register_post_type( <span>'portfolio', $args ); </span>} add_action( <span>'init', 'portfolio_cpt' );</span>
Dans le code ci-dessus, vous pouvez voir Register_Post_Type () a un deuxième paramètre de fonction qui accepte un certain nombre d'arguments de tableau nécessaire pour personnaliser tous les aspects d'un type de poste personnalisé.
Vous devriez maintenant voir le type de post personnalisé du portefeuille apparaître dans le tableau de bord de l'administration WordPress.
Il convient de noter que lors de l'appel Register_Post_Type (), le deuxième argument est facultatif. Autrement dit, un CPT peut également être créé comme suit:
<span><span>function portfolio_cpt() {</span> </span> register_post_type( <span>'portfolio' ); </span>} add_action( <span>'init', 'portfolio_cpt' );</span>
Si un CPT est créé de cette manière, il n'apparaît pas dans le menu du tableau de bord Admin (bien que toujours accessible via l'accès à l'URL direct «http://example.com/wp-admin/edit.php?post_type= Portfolio “) et ses formulations d'interface utilisateur (autrement appelées étiquettes) et les avis d'administration seront les mêmes que le type de post intégré.
passons en revue certains des arguments du tableau pour la personnalisation des CPT et leurs fonctions respectives.
Un nom descriptif pluriel pour votre type de message personnalisé. Par exemple, si vous créez un film CPT, ce devrait être des films.
Il sera par défaut la valeur de $ post_type qui est le premier paramètre de registre_post_type ().
un tableau d'étiquettes pour ce type de message. Chaque chaîne est un peu de texte affiché dans une page d'administration particulière.
Assurez-vous de rendre ces chaînes traduisibles si vous créez un plugin à usage public.
Une liste complète des étiquettes et leurs descriptions peuvent être trouvées ici.
Un court résumé descriptif de ce qu'est le type de message, bien que je n'ai pas trouvé où cela est utilisé dans WordPress Admin.
Selon sa valeur booléenne, il décidera automatiquement des autres arguments que devrait être à moins qu'ils ne soient spécifiquement définis. Si vous cherchez à avoir plus de contrôle sur les arguments publics, vous pouvez définir trois arguments spécifiques:
Par défaut, un nouveau type de message est ajouté après l'élément de menu "Commentaires" dans l'administrateur. Mais vous devez la possibilité de le déplacer vers une position appropriée de votre choix.
Par exemple, la définition de la valeur menu_position sur 70 ajoutera votre élément de menu ci-dessous les utilisateurs.
Les nouveaux types de publication seront par défaut à l'icône du menu des messages, mais si vous voulez une icône personnalisée à la place, définissez cette étiquette sur l'URL de l'icône ou du fichier image.
<span><span>function portfolio_cpt() {</span> </span> <span>$args = array( </span> <span>'label' => 'Portfolio', </span> <span>'public' => true, </span> ); register_post_type( <span>'portfolio', $args ); </span>} add_action( <span>'init', 'portfolio_cpt' );</span>
Vous pouvez également utiliser n'importe quel dascicon comme icône CPT.
Supposons que vous souhaitez utiliser le téléchargement Dascicon, définissez cette étiquette sur la valeur Dascicon comme suit:
<span><span>function portfolio_cpt() {</span> </span> register_post_type( <span>'portfolio' ); </span>} add_action( <span>'init', 'portfolio_cpt' );</span>
Cet argument vous permet de décider de rendre votre CPT hiérarchique ou non. La valeur par défaut est fausse. Réglé sur true pour rendre votre hiérarchique CPT.
L'argument de support vous permet de définir un tableau de méta-box et de champs qui apparaîtront à l'écran lors de la modification ou de la création d'un nouveau message. Cela par défaut est le titre et l'éditeur.
La définition de cet argument sur FALSE empêchera le comportement par défaut (titre et éditeur).
Il existe plusieurs options disponibles:
fournit une fonction de rappel qui sera appelée lors de la configuration des méta-box pour le formulaire d'édition. La fonction de rappel prend un argument $ POST, qui contient l'objet WP_POST pour la publication actuellement édité.
Cette fonctionnalité est particulièrement utile aux développeurs pour qu'ils créent des méta-boîtes personnalisées qui apparaîtront dans l'écran CPT Edit.
<span><span>function portfolio_cpt() {</span> </span> <span>$args = array( </span> <span>'label' => 'Portfolio', </span> <span>'public' => true, </span> ); register_post_type( <span>'portfolio', $args ); </span>} add_action( <span>'init', 'portfolio_cpt' );</span>
une table de taxonomies enregistrées comme la catégorie ou Post_Tag qui sera utilisée avec ce type de message personnalisé.
<span><span>function portfolio_cpt() {</span> </span> register_post_type( <span>'portfolio' ); </span>} add_action( <span>'init', 'portfolio_cpt' );</span>
La définition de cet argument sur true permettra des archives pour votre type de publication personnalisé. Par exemple, disons que votre CPT est des livres, visiter http://yoursite.com/books affichera une liste de messages appartenant à des livres personnalisés.
réécritureLa valeur par défaut est vraie et utilise $ post_type comme slug. Pour éviter les réécritures, réglé sur False.
Voyons quelques exemples pour la clarté.
dire que vous avez créé un type de message personnalisé de revue mais que vous souhaitez modifier la limace URL de
examen à Assessment , en utilisant l'argument de réécriture suivant changera l'URL à partir de http: // Exemple .com / examen / harry-potter / to http://example.com/assessment/harry-potter/ pour les messages uniques et http://example.com/review/ à http://example.com/assessment/ pour pour L'archive CPT.
<span>'menu_icon' => get_stylesheet_directory_uri() . '/images/portfolio-icon.png',</span>chaque fois que vous effectuez une réécriture de l'URL WordPress, assurez-vous de cliquer sur le bouton Enregistrer les modifications dans les paramètres >> permalinks pour recréer les règles de réécriture.
Donc, fondamentalement, la limace définit la nouvelle limace d'URL tandis que_front détermine si la structure du permalien est prédéfinie avec la base avant.
toujours pas clair sur_front? Voyons un exemple.
Supposons que vous ayez une structure de permalien avec
blog annexé à l'URL comme illustré dans l'image ci-dessous.
Si avec_front est défini sur FALS Mais s'il est défini sur true, l'URL d'un seul message et archive de publication respectivement devient http://example.com/assessment/harry-potter/ et http://example.com/assessment/.
Remarquez l'omission du blog dans ce dernier? C'est la différence.
Utilisez cet argument pour décider si les publications appartenant à votre type de message personnalisé peuvent être exportables via l'outil d'exportation WordPress. Par défaut, cela est défini sur true.
Cet argument vous permet de contrôler la variable de requête utilisée pour obtenir des articles de ce type.
Si défini sur true, il vous permettra de demander un type de messages personnalisés de type via example.com/?book=harry-potter où Harry-Potter qui est la limace URL d'une entrée de livre ou d'une publication.
Si défini sur une chaîne plutôt que true (par exemple publication ), vous pouvez faire: example.com/?publication=harry-potter.
si Query_var n'est pas défini dans votre argument de tableau d'enregistrement CPT, il est par défaut à $ post_type Ainsi, il est toujours défini à moins que vous ne le définissiez sur false.
voici la mise en garde. Chaque fois que la valeur d'une question_var est ajoutée sous forme de chaîne de requête à une URL, elle mènera à un 404.
Permettez-moi de clarifier. Disons que la valeur de votre CPT QUERY_VAR est une revue et qu'une chaîne de requête avec l'ensemble clé à réviser a été ajoutée à toute URL de votre site WordPress dans l'une des formulaires suivants:
Cela entraînera un 404.
J'ai appris à ce sujet à la dure. Comme à l'époque où j'avais ce problème, j'ai créé un billet dans WordPress Core Trac pour le signaler comme un bogue.
Il m'a fallu des semaines pour finalement le comprendre avant que certains membres de l'équipe de base WordPress ne répondent à mon billet.
Maintenant que nous avons couvert les fondations, c'est le bon moment pour souligner qu'il existe un certain nombre de plugins dans le référentiel de plugin WordPress qui rend la création de types de publication personnalisés très faciles.
Les exemples incluent (mais sans s'y limiter):
Dans ce tutoriel, nous avons appris quels sont les types de publication personnalisés et comment ils sont créés.
Il s'agit en fait du premier d'une série sur les types de publiques personnalisées WordPress. Dans mon prochain tutoriel, nous apprendrons comment personnaliser les divers avis d'administration, comment enregistrer les taxonomies personnalisées à un type de message et l'ajout d'onglet d'aide contextuel à votre écran CPT.
Jusque-là, codage heureux!
Les types de publiques personnalisées WordPress offrent une gamme d'avantages. Ils vous permettent de créer des types de contenu spécifiques pour votre site Web, au-delà des publications et des pages standard. Cela peut inclure des portefeuilles, des témoignages, des produits et plus encore. Les types de publication personnalisés fournissent également un moyen plus organisé et efficace de gérer votre contenu. Ils peuvent être personnalisés avec des fonctionnalités et des champs spécifiques, ce qui facilite la saisie et l'affichage du contenu de manière cohérente.
Création d'un post personnalisé Tapez WordPress implique l'ajout de quelques lignes de code au fichier functions.php de votre thème. Vous devrez utiliser la fonction register_post_type (), qui vous permet de spécifier le nom, les étiquettes et autres fonctionnalités de votre type de publication personnalisé. N'oubliez pas de rincer vos règles de réécriture après avoir créé un nouveau type de message personnalisé en visitant la page Paramètres Permalinks.
Oui, vous pouvez ajouter des champs personnalisés à vos types de messages personnalisés. Cela peut être fait à l'aide de la fonction add_meta_box (), qui vous permet d'ajouter une nouvelle méta-boîte à l'écran d'édition de post. Vous pouvez ensuite utiliser cette méta-boîte pour saisir et afficher des informations supplémentaires pour votre type de message personnalisé.
Puis-je utiliser des plugins pour créer des types de publication personnalisés?
Comment ajouter des taxonomies à mes types de publication personnalisés?
Puis-je créer des types de publication personnalisés avec des structures hiérarchiques?
La personnalisation de l'interface d'administration pour vos types de publication personnalisées peut être effectuée à l'aide de l'argument «supports» lors de l'enregistrement de votre type de message personnalisé. Cet argument vous permet de spécifier quelles fonctionnalités sont disponibles dans l'écran d'édition de publication, telles que le titre, l'éditeur, la vignette et les champs personnalisés.
Oui, vous pouvez inclure des types de messages personnalisés dans les résultats de recherche de votre site Web. Cela peut être fait en définissant l’argument «exclure_from_search» à FALSE lors de l’enregistrement de votre type de publication personnalisé. Vous pouvez également utiliser des plugins ou du code personnalisé pour personnaliser davantage les fonctionnalités de recherche de votre site Web.
La suppression d'un type de publication personnalisé dans WordPress implique la suppression du code qui enregistre le type de publication personnalisé à partir du fichier functions.php de votre thème. N'oubliez pas de sauvegarder votre site Web avant d'apporter des modifications au code de votre thème. Après avoir supprimé le code, vous devrez vider vos règles de réécriture en visitant la page des paramètres du permalinks.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!