Comment créer un type de publication personnalisé WordPress par programmation

Publié: 2021-10-05

Voulez-vous publier des types de publication personnalisés sur votre site ? Nous avons ce qu'il vous faut. Dans ce guide, nous vous apprendrons comment créer un type de publication personnalisé WordPress par programmation avec un peu de code.

Initialement, WordPress a été créé pour publier des articles. Cependant, après toutes ces années, WordPress est bien plus qu'une plateforme pour publier des articles. De nos jours, c'est la solution Web la plus complète qui alimente près de 40 % de tous les sites Web.

Même si elle a intégré de nombreuses fonctionnalités, la publication de publications reste l'un des meilleurs moyens d'attirer les utilisateurs sur votre site et de les maintenir engagés. WordPress propose des types de publication par défaut, mais si vous souhaitez personnaliser votre site et le rendre unique pour vous démarquer de vos concurrents, la création de types de publication personnalisés peut être une bonne solution.

Dans ce didacticiel, nous allons vous montrer comment créer et publier des types de publication personnalisés WordPress par programmation . Avant de vous lancer, comprenons mieux ce que sont exactement les types de publication personnalisés et quand vous devez les utiliser.

Qu'est-ce qu'un type de publication personnalisé ?

Les types de publication personnalisés sont des types de contenu. WordPress est livré avec plusieurs types de publication par défaut. Les articles et les pages sont les plus célèbres mais il y en a d'autres :

  • Des postes
  • pages
  • Pièces jointes
  • Menus de navigation
  • Révisions
  • CSS personnalisé
  • Ensembles de modifications

La plupart des utilisateurs utilisent les cinq premiers types, mais il existe d'autres types. En fait, vous en utilisez probablement certains sans savoir qu'il s'agit de types de publication personnalisés.

Le meilleur exemple de type de publication personnalisé est celui des produits WooCommerce. Lorsque vous activez WooCommerce pour la première fois, le plugin crée un type de publication personnalisé appelé "Produits". Une fois que vous avez commencé à créer des produits, ils sont publiés en tant que type de publication de produit, présentant toutes les améliorations proposées par WooCommerce.

Même si ces types de publication ne sont pas appelés personnalisés, vous pouvez créer vos types de publication de la même manière que WooCommerce et leur donner le nom que vous souhaitez. Par exemple, les événements, les listes, les horaires, les leçons, les portefeuilles et les profils peuvent être des noms de types de publication qui seront utiles pour des sites Web spécifiques.

Dans l'ensemble, les types de publication personnalisés sont un nouveau type de publication que les utilisateurs peuvent créer en fonction d'exigences spécifiques pour personnaliser leur site Web.

Pourquoi et quand utiliser un type de publication personnalisé ?

Les types de publication personnalisés (CPT) peuvent être très différents selon la façon dont ils sont construits, vous pouvez donc les utiliser pour réaliser toutes sortes de solutions.

Vous pouvez utiliser des types de publication personnalisés lorsque :

  • Vous allez publier régulièrement un type spécifique d'informations que vous ne pouvez pas publier en utilisant le type de publication par défaut
  • Besoin de différencier un certain type de messages des standards
  • Besoin de changer le comportement de certains types de messages
  • Vous souhaitez personnaliser les fonctionnalités de publication, le processus de publication et les éléments ou leur appliquer une fonctionnalité spéciale

En règle générale, vous devez utiliser CPT sur un site WordPress lorsque vous avez besoin de différents types de publications avec leurs fonctionnalités ou leur comportement personnalisé.

Les types de publication personnalisés sont différents des types de publication par défaut, ils nécessitent donc un traitement spécial sans avoir à écraser les fonctionnalités de type de publication par défaut. C'est un gros avantage lorsque vous avez besoin de différents types de publication, car vous pouvez créer un type de publication personnalisé à partir de zéro qui répondra exactement à vos besoins.

Maintenant que nous comprenons mieux ce qu'ils sont et quand les utiliser, voyons comment créer des types de publication personnalisés.

Comment créer un type de publication personnalisé WordPress par programmation

Dans cette section, nous allons vous montrer comment créer un type de publication personnalisé dans WordPress avec un exemple. Avant de commencer, assurez-vous de sauvegarder votre site et de créer un thème enfant si vous n'en avez pas déjà un.

Dans votre tableau de bord allez dans Appearance > Theme Editor , ouvrez le fichier functions.php du thème enfant sur la colonne de droite et collez le script suivant. Il enregistrera un type de message personnalisé appelé films .

 fonction QuadLayers_custom_post_type() {
// Définir les étiquettes de l'interface utilisateur pour le type de publication personnalisé
    $étiquettes = tableau(
        'name' => _x( 'Films', 'Post Type General Name', 'storefront' ),
        'singular_name' => _x( 'Film', 'Post Type Singular Name', 'storefront' ),
        'menu_name' => __( 'Films', 'vitrine' ),
        'parent_item_colon' => __( 'Film parent', 'vitrine' ),
        'all_items' => __( 'Tous les films', 'vitrine' ),
        'view_item' => __( 'Voir le film', 'vitrine' ),
        'add_new_item' => __( 'Ajouter un nouveau film', 'storefront' ),
        'add_new' => __( 'Ajouter un nouveau', 'vitrine' ),
        'edit_item' => __( 'Modifier le film', 'vitrine' ),
        'update_item' => __( 'Mettre à jour le film', 'vitrine' ),
        'search_items' => __( 'Rechercher un film', 'vitrine' ),
        'not_found' => __( 'Introuvable', 'vitrine' ),
        'not_found_in_trash' => __( 'Pas trouvé dans la corbeille', 'storefront' ),
    );
// Définir d'autres options pour le type de message personnalisé
    $args = tableau(
        'label' => __( 'films', 'vitrine' ),
        'description' => __( 'Actualités et critiques de films', 'vitrine' ),
        'étiquettes' => $étiquettes,  
        'supports' => array( 'title', 'editor', 'excerpt', 'author', 'thumbnail', 'comments', 'revisions', 'custom-fields', ),     
        'taxonomies' => array( 'genres' ),     
        'hiérarchique' => faux,
        'public' => vrai,
        'show_ui' => vrai,
        'show_in_menu' => vrai,
        'show_in_nav_menus' => vrai,
        'show_in_admin_bar' => vrai,
        'menu_position' => 5,
        'can_export' => vrai,
        'has_archive' => vrai,
        'exclude_from_search' => faux,
        'publicly_queryable' => vrai,
        'capability_type' => 'poster',
        'show_in_rest' => vrai, 
    );
    // Enregistrement de votre type de message personnalisé
    register_post_type( 'films', $args );
}
add_action( 'init', 'QuadLayers_custom_post_type', 0 );

Après avoir collé le code, un nouvel onglet appelé Films apparaîtra sur votre tableau de bord d'administration WordPress.
Créer un type de publication personnalisé par programmation

Si vous l'ouvrez, vous verrez que l'éditeur de publication est le même que les types de publication par défaut, car nous avons défini les mêmes arguments pour l'écran de l'éditeur de publication. Alors, comment savons-nous qu'il s'agit de l'éditeur de type de publication personnalisé ? Parce que sur l'URL et le titre de la page, vous pouvez voir le type de publication Films.

Ajouter un type de message personnalisé

Maintenant que vous avez vu le résultat final, analysons le code afin de mieux comprendre ce que fait chaque section.

Explication des codes

Nous venons de voir comment créer un type de publication personnalisé WordPress par programmation. Mais ce n'est que la moitié de ce que vous devez savoir. Si vous souhaitez créer vos propres types de publication, vous devez personnaliser le code. Et pour cela, vous devez comprendre ce que fait chaque partie de l'extrait de code.

Nous utilisons le wp_init() pour nous assurer que notre fonction s'exécute une seule fois : lorsque WordPress démarre. Dans notre fonction QuadLayers_custom_post_type() , il y a trois parties.

1) Étiquettes

Il s'agit d'un ensemble de chaînes que le thème utilisera sur différentes pages d'administration et d'interface. Ceci est défini sur un seul tableau :

$labels = array(
'name' => _x( 'Movies', 'Post Type General Name', 'storefront' ),
);

2) Choix

Voici quelques options prédéfinies qui définissent le comportement et certaines autres fonctionnalités de notre type de publication personnalisé ( films ).

Chaque option est une instruction spécifique qui définira comment notre type de publication personnalisé agira. Les plus pertinents sont :

  • 'supports' : Il définit quels composants seront utilisés sur l'éditeur de publication
  • 'taxonomies' : Vous pouvez appliquer une ou plusieurs catégories existantes ou catégories personnalisées à tous les CPT enregistrés sur la fonction en cours
  • ' 'hiérarchique' : les messages ne peuvent pas avoir de contenu parent et cela différenciera le CPT des pages. Définissez ceci sur true si vous souhaitez publier une page personnalisée au lieu d'un type de publication personnalisé
  • ' show_in_admin_bar' : affiche l'onglet CPT sur le tableau de bord d'administration de WordPress

Pour la liste complète de tous les arguments et leur description, consultez cette documentation.

3) Enregistrement personnalisé du type de publication

La fonction WordPress register_post_type() enregistrera enfin notre nouveau type de publication personnalisé et le configurera pour qu'il soit prêt à l'emploi.

Maintenant que vous comprenez mieux le code, vous pouvez commencer à publier vos types de publication personnalisés. Mais en plus de les publier, vous voudrez afficher votre CPT quelque part. Voyons comment faire cela.

Comment afficher les types de publication personnalisés dans WordPress

Jusqu'à présent, nous avons vu comment créer un type de publication personnalisé par programmation dans WordPress. Après l'avoir publié, vous devez décider où vous allez l'afficher.

Il existe plusieurs façons d'imprimer un CPT sur le front-end. Vous pouvez afficher une liste complète des types de publication personnalisés spécifiques sur une autre publication, page, barre latérale ou tout autre endroit de votre choix.

Dans l'exemple de script suivant, nous allons créer un shortcode personnalisé pour afficher tous les types de publication personnalisés que nous avons créés à l'aide de la fonction précédente sur une nouvelle page.

Le script suivant créera un shortcode appelé Movies , qui imprimera tous les films que nous ajoutons à notre CPT sur n'importe quelle page où nous ajoutons le shortcode.

 add_shortcode('films', 'QuadLayers_display_cpt_shortcode');
fonction QuadLayers_display_cpt_shortcode(){
    $args = array( 'post_type' => 'films', 'posts_per_page' => 10 );
    $the_query = new WP_Query( $args );
    if ( $the_query->have_posts() ) :
    while ( $the_query->have_posts() ) : $the_query->the_post();
    $c= the_title( sprintf( '<h2 class="entry-title">', esc_url( get_the_title() ) ), '</h2>').
    '<div class="entry-content">'.
    le contenu().
    '</div>' ;
pendant ce temps;
wp_reset_postdata();
autre:
$c = 'Désolé, aucun article ne correspond à vos critères.';
fin si;
retourne $c ;
}

Donc si vous placez le shortcode sur une page :

shortcode pour afficher CTP

Vous verrez le résultat :

type de publication personnalisé avec shortcode

Conclusion

En résumé, nous avons vu que, par défaut, WordPress inclut certains types de publication, mais vous pouvez ajouter des types de publication personnalisés en fonction de vos besoins pour personnaliser votre site.

Dans ce guide, nous vous avons montré comment vous pouvez créer un type de publication personnalisé WordPress par programme. Nous avons analysé l'extrait et décrit chaque section, afin que vous puissiez le personnaliser et l'utiliser sur votre site. De plus, nous avons vu comment créer un shortcode personnalisé qui vous permet d'afficher vos types de publication personnalisés n'importe où sur votre site.

Avez-vous essayé de créer des types de publication personnalisés sur votre site ? Faites-nous part de votre expérience dans la section des commentaires.

Pour personnaliser d'autres zones de votre site, consultez les didacticiels suivants :

  • Comment ajouter des champs de téléchargement personnalisés à WooCommerce
  • Comment ajouter des champs personnalisés à la caisse
  • Guide pour modifier les champs de paiement WooCommerce