Suite à un article paru sur le site geekeries, qui explique comment afficher les articles personnalisés (custom post types) sur le tableau de bord de WordPress, j’ai légèrement adapté le code proposé pour le rendre factorisable.
J’en ai profité pour corriger une petite erreur dans le code proposé initialement.
Voici donc le résultat :
/* Début personnalisation */ add_action('right_now_content_table_end', 'listreferences'); add_action('right_now_content_table_end', 'listpartenaires'); function listreferences(){ // premier paramètre : slug du custom post type // second paramètre : le libellé au pluriel // troisième paramètre : le libellé au singulier dspThisCustom('references', 'Références', 'Référence'); } function listpartenaires(){ dspThisCustom('partenaires', 'Partenaires', 'Partenaire'); } /* Fin personnalisation */ /* * paramètres de la fonction : $type=custom post type; $pluriel=Libellé pluriel, $singulier=Libellé singulier */ function dspThisCustom($type,$pluriel,$singulier) { $types = $type; if (!post_type_exists(''.$types.'')) { return; } $num_posts = wp_count_posts( ''.$types.'' ); $nbr_ = $singulier; $nbr_s = $pluriel; $num = number_format_i18n( $num_posts->publish ); $text = _n('' . $nbr_ . '', '' . $nbr_s . '', intval($num_posts->publish) ); if ( current_user_can( 'edit_posts' ) ) { $num = "<a href='edit.php?post_type=$types'>$num</a>"; $text = "<a href='edit.php?post_type=$types'>$text</a>"; } echo '<tr>'; echo '<td>' . $num . '</td>'; echo '<td>' . $text . '</td>'; echo ''; if ($num_posts->pending > 0) { $num = number_format_i18n( $num_posts->pending ); $text = _n( 'En attente', 'En attentes', intval($num_posts->pending) ); if ( current_user_can( 'edit_posts' ) ) { $num = "<a href='edit.php?post_status=pending&post_type=$types'>$num</a>"; $text = '<a href="edit.php?post_status=pending&post_type='.$types.'">"'.$text.'</a>'; } echo '<td>' . $num . '</td>'; echo '<td>' . $text . '</td>'; echo ''; } echo '</tr>'; }
Il vous suffit ensuite d’ajouter le code ci-dessus dans le fichier functions.php de votre thème et de modifier la partie comprise entre « /* Début personnalisation*/ » et « /* Fin personnalisation */ » en fonction de vos besoins