Maison >Tutoriel CMS >WordPresse >Le guide définitif des types de publiques personnalisées WordPress

Le guide définitif des types de publiques personnalisées WordPress

Lisa Kudrow
Lisa Kudroworiginal
2025-02-15 13:11:11524parcourir

Le guide définitif des types de publiques personnalisées WordPress

Les plats clés

  • WordPress est devenu un système de gestion de contenu à part entière et une plate-forme de développement, capable de regrouper des publications ou des données structurées en différents types via des plugins, des thèmes et de l'API REST WP.
  • Un type de publication personnalisé (CPT) dans WordPress est un nouveau type de message qui est créé et enregistré sur WordPress. Des exemples de types de publication pourraient inclure le portefeuille, les témoignages et les produits pour une entreprise ou un site Web d'entreprise.
  • La création d'un type de post personnalisé implique l'enregistrement du type de message avec la fonction register_post_type () et la personnaliser à l'aide d'un tableau d'arguments. Ces arguments peuvent contrôler des aspects tels que le nom descriptif, la visibilité publique, la position du menu, l'icône, la hiérarchie et d'autres fonctionnalités du type de poste.
  • Il existe plusieurs plugins disponibles, tels que l'interface utilisateur de type post personnalisé, le framework PODS et le fabricant de types de post personnalisés, qui peuvent simplifier le processus de création de types de messages personnalisés, le rendant plus convivial et éliminant le besoin de codage.

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.

Définition de type post personnalisé

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.

Création de types de messages personnalisés

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.

Le guide définitif des types de publiques personnalisées 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.

Label

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 ().

étiquettes

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.

  • Nom: la forme plurielle du nom de votre type de message.
  • singulier_name: la forme singulière du nom de votre type de message.
  • add_new: l'élément de menu pour ajouter un nouveau message.
  • add_new_item: l'en-tête affiché lors de la création d'un nouveau message.
  • edit_item: l'en-tête affiché lors de la modification d'un message.
  • new_item: illustré dans le menu Favoris dans l'en-tête d'administration.
  • View_Item: montré à côté du permalien sur l'écran du post d'édition.
  • Search_Items: Texte de bouton pour la zone de recherche sur l'écran de modification des messages.
  • not_found: texte à afficher lorsqu'aucun message n'est trouvé via la recherche dans l'administrateur.
  • not_found_in_trash: texte à afficher en cas de messagerie dans la poubelle.

Une liste complète des étiquettes et leurs descriptions peuvent être trouvées ici.

Description

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.

public

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:

  • show_ui: détermine s'il faut afficher les écrans d'administration.
  • publicly_queryable: détermine si les requêtes de ce type de message peuvent être effectuées à partir de l'avant.
  • exclure_from_search: si les messages doivent apparaître dans les résultats de la recherche.

menu_position

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.

menu_icon

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>

hiérarchique

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.

prend en charge

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:

  • Titre: champ de saisie du texte pour créer un titre de publication.
  • éditeur: Content TinyMce Editor pour l'écriture.
  • Auteur: une boîte de sélection pour modifier l'auteur du post.
  • Vignette: capacité d'image en vedette.
  • Extrait: une TextArea pour écrire un extrait personnalisé.
  • Trackbacks: Capacité à tourner les trackbacks et les pingbacks activés.
  • Champs personnalisés: champ de saisie des champs personnalisés.
  • Commentaires: allumez / éteint les commentaires.
  • RÉVISIONS: Permet des révisions à faire de votre message.
  • Post-formats: Ajouter des formats de poste, voir la section «Formats de poste»
  • PAGE-Attributs: La boîte d'attributs indiquée pour les pages. Ceci est important pour les types de messages hiérarchiques, vous pouvez donc sélectionner le post parent.

registre_meta_box_cb

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>

Taxonomies

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>

Has_archive

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éécriture

Cet argument vous permet de définir la structure du permalien de votre type de message personnalisé lors de la visualisation d'un seul message ou archive.

La 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. Le guide définitif des types de publiques personnalisées WordPress

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.

can_export

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.

query_var

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.

CAPEAT de "Query_var"

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:

  • http://example.com/?review=some-random-string
  • http://example.com/a-post-slug-here/?foo=bar&review=some-random-string

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.

Accélérer la configuration des types de publication personnalisés avec des plugins

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):

  • Type de post personnalisé UI
  • Framework des pods
  • Maker de type post personnalisé

Conclusion

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!

Des questions fréquemment posées sur les types de publiques personnalisées WordPress

Quels sont les avantages de l'utilisation de types de publiques personnalisées WordPress?

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.

Comment créer un message personnalisé dans WordPress?

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.

Puis-je ajouter des champs personnalisés à mes types de messages personnalisés?

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é.

Comment afficher les types de publication personnalisé être fait en créant un nouveau fichier de modèle dans votre thème. Ce fichier doit être nommé unique {post-type} .php, où {post-type} est le nom de votre type de message personnalisé. Vous pouvez ensuite utiliser la boucle WordPress standard pour afficher le contenu de votre type de message personnalisé.

Puis-je utiliser des plugins pour créer des types de publication personnalisés?

Oui, il existe plusieurs plugins disponibles qui peuvent simplifier le processus de créer des types de messages personnalisés. Ces plugins fournissent une interface conviviale pour la création et la gestion des types de publication personnalisés, sans avoir besoin de codage. Certaines options populaires incluent l'interface utilisateur de post personnalisée, les pods et les types de plans d'outils.

Comment ajouter des taxonomies à mes types de publication personnalisés?

L'ajout de taxonomies à vos types de publication personnalisés peut être effectué à l'aide du Register_Taxonomy () Fonction. Cette fonction vous permet de créer une nouvelle taxonomie, de spécifier ses étiquettes et de l'associer à votre type de publication personnalisé. Vous pouvez ensuite utiliser cette taxonomie pour catégoriser et filtrer le contenu de votre type de message personnalisé.

Puis-je créer des types de publication personnalisés avec des structures hiérarchiques?

Oui, vous pouvez créer des types de publication personnalisés avec des structures hiérarchiques. Cela peut être fait en définissant l’argument «hiérarchique» sur TRUE lors de l’enregistrement de votre type de publication personnalisé. Les types de publiques personnalisées hiérarchiques peuvent avoir des publications de parents et d'enfants, similaires aux pages.

Comment personnaliser l'interface d'administration pour mes types de messages personnalisés?

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.

Puis-je inclure des types de messages personnalisés dans les résultats de recherche de mon site Web?

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.

Comment supprimer un type de message personnalisé dans WordPress?

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn