Depuis la version 2.9, WordPress a introduit la possibilité d'utiliser des types de publication personnalisés. Désormais, avec la version 3.0, les choses vont un peu plus loin avec la possibilité de créer des panneaux pour vos types de publication personnalisés. Dans ce didacticiel, nous allons vous montrer comment implémenter les types de publications personnalisées de votre site dans votre site WordPress.
Depuis la version 3.0, WordPress ne dispose d'aucune interface utilisateur (interface utilisateur) intégrée pour créer des types de publication personnalisés. Il n'existe que deux options que nous pouvons utiliser pour créer des types de publication personnalisés : des plugins ou les coder en dur dans le fichier functions.php de votre thème. Tout d’abord, voyons comment nous pouvons utiliser des plugins pour créer des types de publication personnalisés.
Custom Post Type UI est un plugin développé par Brad Williams de WebDevStudios qui vous permet de créer facilement des types de publication et des taxonomies personnalisés. L'une des fonctionnalités les plus intéressantes de ce plugin est qu'il génère un code pour créer des types de publication personnalisés, vous pouvez donc le coller dans le fichier functions.php de votre thème. L'une des bizarreries de ce plugin est l'incapacité de partager des taxonomies entre tous vos post_types.
Dans le panneau de l'interface utilisateur du type de publication personnalisé, cliquez sur « Ajouter un nouveau ».
Ensuite, vous avez quelques options à remplir. Le « Nom du type de publication » est ce qui sera utilisé par WordPress pour interroger toutes les publications de ce post_type. Le « Étiquette » est ce qui sera affiché sur la barre latérale de votre tableau de bord, tout comme le menu « Publier » habituel. Si vous développez « Afficher les options avancées », vous verrez quelques options supplémentaires que vous pouvez configurer. La plupart sont explicites, comme « Public » et « Afficher l'interface utilisateur ». Le premier, lorsqu'il est défini sur true, permet d'afficher le menu de type de publication personnalisé dans la barre latérale, et l'autre (show ui), lorsqu'il est défini sur true, génère le panneau de menu.
« Réécrire » est ce qui permet au type de publication personnalisé d'utiliser des URL WordPress optimisées pour le référencement (permaliens). Le « Custom Rewrite Slug » peut être défini sur tout ce que vous souhaitez. WordPress utilisera ce slug pour générer les permaliens. Donc, si nous avons example.com avec un slug de réécriture personnalisé de « films », votre lien permanent de type de publication personnalisé ressemblerait à example.com/movies
La fonction WordPress « Query Var » vous permet d’interroger la publication de votre type de publication personnalisé. Donc, si nous avons utilisé l'exemple donné plus tôt, pour accéder à une publication avec le titre My First Movie Post, qui est écrit sous le post_type Films, nous pouvons saisir example.com/?movies=my-first-movie-post. La variable de requête ressemble donc à ceci : ?posttypename
Enfin, vous pouvez choisir les différentes fonctionnalités prises en charge par votre type de publication personnalisé, telles que les vignettes/images en vedette et les extraits.
Si vous préférez utiliser des types de publication personnalisés sans plugin, ajoutez simplement le code suivant au fichier function.php de votre thème :
// Creates Movies post type register_post_type('movies', array( 'label' => 'Movies', 'public' => true, 'show_ui' => true, 'capability_type' => 'post', 'hierarchical' => false, 'rewrite' => array('slug' => 'movies'), 'query_var' => true, 'supports' => array( 'title', 'editor', 'excerpt', 'trackbacks', 'custom-fields', 'comments', 'revisions', 'thumbnail', 'author', 'page-attributes',) ) );
Découpons le code.
register_post_type( $post_type, $args ) : Cette fonction accepte deux paramètres, $post_type ou le nom du type de publication, et $args, un tableau d'arguments.
label : Nom au pluriel donné au type de publication qui est affiché dans la barre latérale du panneau d'administration.
public : vrai/faux. Permet à l'interface utilisateur d'administration d'être remplie avec des publications de ce type.
show_ui : vrai/faux. Affiche ou masque une interface utilisateur par défaut pour gérer ce type de publication.
capability_type : Par défaut : post Type de publication à utiliser pour vérifier les fonctionnalités de lecture, de modification et de suppression.
hiérarchique : si le type de publication est hiérarchique.
réécrire : vrai/faux. Par défaut : true Si l'argument slug est saisi, le nom du slug est ajouté au début des publications.
query_var : true/false Définit le nom du type de publication en tant que variable de requête.
supports : Par défaut : titre et auteur Définit les différentes fonctionnalités de support autorisées par le type de publication.
Visitez le Codex WordPress pour plus d'informations sur register_post_type().
Pour afficher les publications de votre type de publication personnalisé, ajoutez les codes suivants dans la boucle. Remplacez « nom » par le nom de votre type de publication. Remarque : vous n'êtes pas obligé d'ajouter les types de publication personnalisés dans votre fichier index.php. Vous pouvez créer une page WordPress personnalisée et exécuter la requête suivante dans la boucle.
$query = new WP_Query( 'post_type=name' );
Pour afficher les publications de plusieurs types de publication, remplacez le code ci-dessus par le suivant. Changez les films avec le nom de votre type de publication personnalisé.
$query = new WP_Query( array( 'post_type' => array( 'post', 'movies' ) ) );
Le code ci-dessus affichera toutes les publications du type de publication standard (post) et du type de publication personnalisé, films.
C'est ça. Nous espérons que ce tutoriel vous a été utile et n'oubliez pas de poser vos questions dans les commentaires.