Il peut être nécessaire de vouloir afficher dans une de vos pages toutes les catégories de vos Costum Post Type, pour cela vous devez passer par l’ajout d’une fonction WordPress « get_term_link » dans le fichier correspondant à votre besoin (dans notre exemple ce sera single-createur.php)
Attention, ce que vous spécifiiez dans la première ligne entre les parenthèses : « $terms = get_terms( ‘domaine’ ); » est le nom de votre taxonomy (spécifié lors de la création des « Costum Post Type ».
$terms = get_terms( 'species' );
echo '<ul>';
foreach ( $terms as $term ) {
// The $term is an object, so we don't need to specify the $taxonomy.
$term_link = get_term_link( $term );
// If there was an error, continue to the next term.
if ( is_wp_error( $term_link ) ) {
continue;
}
// We successfully got a link. Print it out.
echo '<li><a href="' . esc_url( $term_link ) . '">' . $term->name . '</a></li>';
}
echo '</ul>';
De base, les Custom Post Type de wordpress ne s’intègre pas dans votre flux RSS, pourtant grâce à quelques lignes de codes, vous pouvez les ajouter automatiquement, comme toujours cela se passe dans le fichiers functions.php via ces quelques lignes :
Si toutefois vous avez plusieurs Costum Post type, et que vous souhaitez ajouter un précisément sans prendre en compte les autres, il faudra plutôt rajouter ces quelques lignes de codes :
function myfeed_request($qv) {
if (isset($qv['feed']) && !isset($qv['post_type']))
$qv['post_type'] = array('post', 'createur', 'slider', 'lieux', 'temoignage');
return $qv;
}
add_filter('request', 'myfeed_request');
[/pastacode]
Dans la ligne contenant le terme array, « Post » correspond aux articles standards, et le reste aux Custom Post Type de WordPress que vous avez créé et que vous désirez afficher.
Après installation de votre site WordPress, vous vous retrouvez avec les contenus par défaut de wordpress : les articles, les pages et les médias. bien que ceci soit suffisant, il peut-être nécessaire d’avoir des contenus personnalisés et individuelles afin qu’ils ne se mélangent pas avec les article sou les pages. C’est la qu’interviennent les Costum Post Types de WordPress.
Des contenus à votre demande
Nous allons voir ensemble comment créer ces fameux Costum Post Types via quelques lignes de codes ajoutés dans votre fichier functions.php, Pour l’exemple, nous avons comme objectif de créer un annuaire de créateurs.
commencer par ajouter le code suivant dans votre fichier functions.php :
//custom post types : Agenda des créateurs
add_theme_support( 'post-thumbnails' ); //active les Post thumbnails (images à la une)
add_action('init', 'my_custom_init');
function my_custom_init()
{
register_post_type('createur', array(
'label' => __('Annuaire des créateurs'),
'singular_label' => __('Créateur'),
'public' => true,
'show_ui' => true,
'capability_type' => 'post',
'hierarchical' => false,
'supports' => array('title', 'editor', 'thumbnail')
));
register_taxonomy( 'domaine', 'createur', array( 'hierarchical' => true, 'label' => 'Domaines', 'query_var' => true, 'rewrite' => true ) );
}
[/pastacode]
Vous obtiendrez alors un nouveau contenu dans votre tableau d’administration :
Quelques explications sur le code précédent :
La fonction register_post_type enregistre un nouvel élément.
Elle possède beaucoup de paramètres, dont les plus importants sont expliqués ici :
‘createur’ correspond au nom du nouvel élément.
‘label’ est le nom qu’on retrouvera dans la colonne de gauche de l’admin. Il est préférable de le mettre au pluriel.
’singular_label’ est l’équivalent du nom au singulier.
‘public’ définit si les posts seront publics ou non.
’show_ui’ définit si ce nouvel élément apparaît dans l’admin.
‘capability_type’ définit si le nouvel élément est identique à un Post classique ou à une Page classique. En général, les Posts sont beaucoup plus intéressants car ils ont davantage de fonctions que les Pages (catégories, mots-clefs …).
‘hierarchical’ définit si il peut y avoir une hiérarchie (comme pour les Pages). Ici, c’est non car chaque élément est au même niveau.
’supports’ est un array qui définit quels éléments d’un Post normal on veut avoir. Ici je veux juste un titre, un texte long (l’éditeur) et une miniature. Il existe néanmoins d’autres éléments que vous pouvez cumuler pour avoir un contenu personnalisé :
‘title’
‘editor’ (la fenêtre principale de contenu)
‘author’
‘thumbnail’
‘excerpt’
‘trackbacks’
‘custom-fields’
‘comments’
‘revisions’ (la sauvegarde automatique de versions passées)
‘page-attributes’ (choix de template pour les pages et gestion de la hiérarchie)
Sachez qu’il existe un générateur de Costum Post Types sur ce site, il vous permettra de générer automatiquement le code souhaité pour disposer de votre contenu personnalisé, toutefois une lecture de cet article ainsi que d’autres ressources sera nécessaire pour la compréhension du sujet.
Pensez à réenregistrer vos permaliens dans le cas ou votre contenus vous renvoi une page 404.