Vous situez le tableau “d’un coup d’oeil” de l’administration de WordPress ? C’est l’encart qui vous permet de voir votre nombre d’articles, de commentaires, de pages etc. quand vous vous connectez.

Il ressemble à ceci :

un coup d'oeil wpmarmite

Eh bien si vous utilisez les custom post types sur votre site, vous pouvez les inclure ici.

Voici le code à copier-coller dans le fichier functions.php de votre thème enfant :

// Afficher le nombre de types de contenus dans l'encart "D'un coup d'oeil" du tableau de bord de WordPress

add_action('dashboard_glance_items', 'wpm_custom_posttype_glance_items');

// On va récupérer le nombre de chaque Custom Post Type
function wpm_custom_posttype_glance_items()
{
$glances = array();

$args = array(
'public' => true, // On ne montre que les CPT publics
'_builtin' => false // On n'affiche pas les posts types de base de WordPress (page, post, ...)
);
// On récupère chaque CPT
$post_types = get_post_types($args, 'object', 'and');
foreach ($post_types as $post_type)
{
// On compte le nombre de posts par CPT
$num_posts = wp_count_posts($post_type->name);
// On formatte le nombre suivant la locale de WordPress (pour afficher une virgule pour les milliers par exemple)
$num = number_format_i18n($num_posts->publish);
// On formatte le texte pour utiliser soit le singulier soit le pluriel suivant le nombre de posts
$text = _n($post_type->labels->singular_name, $post_type->labels->name, intval($num_posts->publish));
// Si l'utilisateur actuel a le droit d'éditer les types de contenus, on créé des liens
if (current_user_can('edit_posts'))
{
// On affiche un lien pour éditer si l'utilisateur a les droits
$glance = '<a class="'.$post_type->name.'-count" href="'.admin_url('edit.php?post_type='.$post_type->name).'">'.$num.' '.$text.'</a>';
}
else
{
// Sinon on affiche simplement le nombre sans liens.
$glance = '<span class="'.$post_type->name.'-count">'.$num.' '.$text.'</span>';
}
// On sauvegarde tout ça dans un tableau
$glances[] = $glance;
}
// On récupère le tableau
return $glances;
}

Voilà, maintenant vos post types sont affichés dans l’encart “D’un coup d’oeil” :

un coup oeil custom post type wpmarmite

Série TV est le custom post type crée pour imager le snippet “Comment créer un custom post type dans WordPress” et Projets est un type de contenu de base fourni avec le thème Divi utilisé ici.

Voici ce que ça donne pour la Marmite :

Types de contenus de WP Marmite

En tout cas félicitations, vous venez de lire le 45ème snippet de la Marmite 🙂

Dites-nous ce que vous en avez pensé dans les commentaires !

Source: Feryardiant