NB : Faire une sauvegarde de votre thème, de votre fichier et/ou votre base de données avant d’ajouter ces fonctions tutoriels.

Afficher le nombre de Posts statut Draft (Menu Admin)
Intermédiaire

---- Cet article a été modifié : 12 janvier 2021

Afficher le nombre de Posts statut Draft (Menu Admin) : Nous allons dans ce tutoriel développer une fonction qui permet d’afficher au menu Admin WordPress le nombre de Posts/ Post-Type en statut brouillon (Draft).

Cette fonction permet par exemple de vérifier et prendre connaissance des Posts ou Post Type à valider si vous avez des entrées conséquentes par formulaire par exemple.

Nous allons utiliser pour ça le filtre add_menu_classes.

Afficher le nombre de Posts statut Draft (Menu Admin)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/////////////////////////////////////////////////////////////////////
// Function admin display count post type en attente de validation
/////////////////////////////////////////////////////////////////////
 
add_filter( 'add_menu_classes', 'viavideos_pending_number');
function viavideos_pending_number( $menu ) {
    // Changer par le nom de votre Post Type ou post
	$type = 'viavideos';
    // Vous pouvez ici mettre un autre statut
	$status = 'draft';
	// On fait le compte des Posts Ou Post Type
    $num_posts = wp_count_posts( $type, 'readable' );
	// On part de 0 en statut draft et on fait le compte
    $pending_count = 0;
    if ( !empty($num_posts->$status) )
        $pending_count = $num_posts->$status;
 
    // build string to match in $menu array
    if ($type == 'post') {
        $menu_str = 'edit.php';
    // support custom post types
    } else {
        $menu_str = 'edit.php?post_type=' . $type;
    }
 
    // On affiche le resultat dans le menu admin concerné
    foreach( $menu as $menu_key => $menu_data ) {
        if( $menu_str != $menu_data[2] )
            continue;
        $menu[$menu_key][0] .= " <span class="update-plugins count-$pending_count"><span class="plugin-count">" . number_format_i18n($pending_count) . '</span></span>';
    }
    return $menu;
}

Leave a Reply

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>