compter le nombre d'un custom post 'courrier' expiré et afficher l'alerte dans l'admin bar
si on utilise la methode avec wp_query on tombe dans un probleme lors de l'ajout d'un nouveau article courrier.
donc la solution est de passer par une requet sql direct
et attribuer la fonction à un hook
//////////////////////////////////////////////////////////////////
function sfn_show_expire(){
global $wpdb;
$i=0;
$non_traite=0;
$server_time = date('mdy');
$result = $wpdb->get_results("SELECT * FROM wp_posts WHERE post_type = 'courrier' AND post_status = 'publish'");
if( !empty($result)) foreach ($result as $a){
$show_time = get_the_time('mdy', $a->ID );
$custom = get_post_custom($a->ID);
$delai = $custom["delai"][0];
$date_recu = $custom["Date"][0];
$etat = $custom["etat"][0];
$personne = $custom["personne"][0];
//$date_recu = date("Y-m-d",$date_recu);
//increment 2 days
$date_expiration = strtotime( $date_recu."+".$delai." days");
$date_expiration = date("Y-m-d",$date_expiration );
$date_now=date("Y-m-d");//date actuelle
$Objet = $custom["Objet"][0];
if ($date_now>$date_expiration || $date_now==$date_expiration ){
$i++;
if( $etat=='Non traité'){$non_traite++;}
}
} // end foreach
global $wp_admin_bar;
/* $args = array(
'id' => 'mbe_testimonials_pending',
'href' => admin_url('./extranet/?page_id=939', 'http'),
'parent' => 'top-secondary'
);*/
if($non_traite > 0) $disp2=':<span class="mbe-ab-text" style="
color: red;
" >'.$non_traite.' '.'messages non traités</span>';
$display = '<a href="/extranet/?page_id=939"><span class="mbe-ab-text" style="
color: yellow;
" >'.' Alerte'.' '.$i.' '.' courriers expirés</span>'.' '.$disp2.'</a>';
$args['title'] = $display;
$wp_admin_bar->add_node($args);
}
add_action('wp_before_admin_bar_render', 'sfn_show_expire', 999);
Aucun commentaire:
Enregistrer un commentaire