labels; $labels->name = 'Mesures'; $labels->singular_name = 'Mesure'; $labels->add_new = 'Ajouter une mesure'; $labels->add_new_item = 'Ajouter une mesure'; $labels->edit_item = 'Modifier la mesure'; $labels->new_item = 'Nouvelle mesure'; $labels->view_item = 'Voir la mesure'; $labels->search_items = 'Chercher dans les mesures'; $labels->not_found = 'Aucune mesure trouvée'; $labels->not_found_in_trash = 'Aucune mesure dans la corbeille'; $labels->all_items = 'Toutes les mesures'; $labels->menu_name = 'Mesures'; $labels->name_admin_bar = 'Mesure'; } /** * Suppression de la metabox catégories */ function ccc_remove_metaboxes() { remove_meta_box( 'categorydiv', 'post', 'normal' ); } add_action( 'admin_menu', 'ccc_remove_metaboxes' ); /** * Shortcode affichant la liste des mesures */ function generate_home_posts_list() { // On récupère la liste des mesures par date de MaJ décroissante $measures = get_posts([ 'post_type' => 'post', 'orderby' => 'modified', 'order' => 'DESC', 'numberposts' => -1 ]); // Conteneur pour les filtres $html = "
"; // input pour la recherche $html .= "
"; foreach ($measures as $measure) { $status = get_the_category($measure->ID)[0]; $color = get_field('couleur', 'category_'.$status->term_id); $link = get_field('proposition-url', $measure->ID); $date = get_the_modified_date("d/m/Y à H:i", $measure); $html .= "
"; $html .= "

". $measure->post_title ."

"; $html .= "
"; $html .= "

". $measure->post_excerpt ." Lire la mesure

"; $html .= "

". $status->description . "

"; $html .= "
" . $measure->post_content . "
"; $html .= "

Mise à jour le " . $date . "
"; $html .= "

"; $html .= "
"; } return $html; } add_shortcode('mesures', 'generate_home_posts_list'); /** * Shortcode affichant le graphique de suivi des statuts */ function generate_home_status_graph() { // Total des articles $total = wp_count_posts('post')->publish; // Ensuite, pour chaque catégorie donnée, on va : // récupérer le nombre de posts de cette cat // récupérer la couleur associée // calculer le pourcentage sur le total de mesures // créer un bloc html avec l data correspondante $cats = ["validated", "partially-validated", "discussed", "danger", "rejected", "undiscussed"]; $obj_total = 0; $html = ""; foreach ($cats as $cat) { $cat = get_category_by_slug($cat); $color = get_field('couleur', "category_" . $cat->term_id); $percent = $cat->count * 100 / $total; $html .= "
"; $html .= "

" . $cat->name . "

"; $html .= "
"; $html .= "
"; $html .= "
"; $html .= "
"; $html .= "

" . $cat->count . "

"; $html .= "
"; if (in_array($cat->slug, ['validated', 'partially-validated'])) { $obj_total += $cat->count; } } $total_percent = $obj_total * 100 / $total; $html .= "
"; $html .= "

Objectif

"; $html .= "
"; $html .= "
"; $html .= "
"; $html .= "
"; $html .= "

$obj_total / $total

"; $html .= "
"; return $html; } add_shortcode('graph_mesures', 'generate_home_status_graph');