From 4f1158c910af90cddd886067364e77a4cecef945 Mon Sep 17 00:00:00 2001 From: Matt Marcha Date: Fri, 19 Feb 2021 19:17:18 +0100 Subject: [PATCH] =?UTF-8?q?D=C3=A9placement=20de=20la=20gestion=20des=20fi?= =?UTF-8?q?ltres=20dans=20plugin?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- custom.js | 102 +---------------------- functions.php | 112 +++++++++++-------------- header.php | 222 -------------------------------------------------- style.css | 48 ++++------- 4 files changed, 67 insertions(+), 417 deletions(-) delete mode 100755 header.php diff --git a/custom.js b/custom.js index a8f9e61..721df3d 100755 --- a/custom.js +++ b/custom.js @@ -7,7 +7,6 @@ jQuery( document ).ready(function($) { }); - $(".measure-wrapper .measure-title").click(function() { $(this).next(".measure-content").slideToggle(500, "swing"); $(this).toggleClass("open"); @@ -15,101 +14,6 @@ jQuery( document ).ready(function($) { - - /** Filtrage des propositions **/ - - var css_selector = ".measure-wrapper, .measure-wrapper"; - - function clearSearchField() { - $(".search-container #measure-search").val(""); - } - - /* Par catégories */ - - // Au clic sur un des titres des catégories : on crée le div de filtre correspondnt (avec le slug en attr "statut") et on trigger l'event filtre - $(".home-graph-item .status-title").click(function(){ - var stat = $(this).attr("status"); - - // on conditionne l'action au fait que le filtre ne soit pas déjà actif - if ( $("div.filters-container .filter-" + stat).length === 0) { - var htmlFilter = "

"+ $(this).text() + "

+
"; - $("div.filters-container").append(htmlFilter); - $("div.filters-container").trigger("filters-change"); - - $([document.documentElement, document.body]).animate({ - scrollTop: $(".measures-col").offset().top - }, 200); - } - else { - $("div.filters-container .filter-" + stat).remove(); - $("div.filters-container").trigger("filters-change"); - } - } - ); - - // Au clic sur une croix d'un filtre on supprime le div concerné et on trigger l'event filtre - $("body").on("click", "div.filters-container .filter-close", function (){ - $(this).closest('.measure-filter').remove(); - $("div.filters-container").trigger("filters-change"); - }); - - - - // Event filtre : on récupère les slugs des catégories présente dans la div des filtres, et on masque tous les autres. Si il n'y a aucun filtre on affiche tout. - $("div.filters-container").on("filters-change", function() { - clearSearchField(); - - // d'abord on remasque tout - $(".measure-wrapper").hide(); - // si aucun filtre on affiche tout - if (!$.trim($("div.filters-container").html() )) { - css_selector = ".measure-wrapper"; - } - - //sinon on parcourt les filtres et on affiche les éléments correspondants - else { - css_selector = ""; - $("div.filters-container > .measure-filter").each(function (index) { - var stat = $(this).attr("status"); - - if (index !== 0) { - css_selector += ", "; - } - css_selector += ".measure-wrapper.measure-" + stat; - }) - } - - //on affiche les mesures correspondant au sélecteur - $(css_selector).show(); - - }); - - - - /* Par recherche texte */ - - $(".search-container #measure-search").keyup(function() { - - // récupération du query actuel - var query = $.trim($(this).val()); - - if (query === "") { // si il est vide on affiche tout - // on affiche toutes les propositions, en tenant compte des filtres éventuels - $(css_selector).show(); - } - else { - // on va chercher les mentions de ce query dans les mesures et on cache celles qui ne l'ont pas - $(css_selector).show().not(':Contains(' + query + ')').hide(); - } - }); - - $(".search-container #measure-search-reset").click(function () { - clearSearchField(); - $(".search-container #measure-search").trigger("keyup"); - }); - - - /*** Rien à voir avec la choucroute : on déplace le chap commentaire en bas ****/ if ($( "#commentform" ).length ) { @@ -117,9 +21,9 @@ jQuery( document ).ready(function($) { //Et on remplit le champ commentaire si il a été laissé vide $('#commentform #submit').click(function (){ - if($('#commentform .comment-form-comment').val().length === 0) { - $('#commentform .comment-form-comment textarea').val("Aucun commentaire"); - } + if($('#commentform .comment-form-comment').val().length === 0) { + $('#commentform .comment-form-comment textarea').val("Aucun commentaire"); + } }); } diff --git a/functions.php b/functions.php index 72f012c..204af06 100644 --- a/functions.php +++ b/functions.php @@ -8,7 +8,7 @@ **/ add_action( 'wp_enqueue_scripts', 'enqueue_style_parent' ); function enqueue_style_parent() { - wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' ); + wp_enqueue_style( 'child-style', get_template_directory_uri() . '/style.css' ); } /** @@ -16,12 +16,52 @@ function enqueue_style_parent() { **/ add_action('wp_enqueue_scripts', 'enqueue_scripts_child', 20); function enqueue_scripts_child() { - wp_register_script('customJS', get_stylesheet_directory_uri() . '/custom.js', array('jquery'),'1.1', true); - wp_enqueue_script('customJS'); + wp_register_script('customJS', get_stylesheet_directory_uri() . '/custom.js', array('jquery'),'1.1', true); + wp_enqueue_script('customJS'); wp_enqueue_style('dashicons'); //wp_enqueue_style( 'responsive-child', get_stylesheet_directory_uri() . '/path/to/file.css' ); } + +/** + ** Ajout du code HTML pour les stats + **/ +function add_stats_html() { + ?> + + + + + "; + $html = "
"; // input pour la recherche $html .= "
"; + $html .= '
'; foreach ($measures as $measure) { $status = get_the_terms($measure->ID, 'post-status')[0]; $color = get_field('couleur', 'category_'.$status->term_id); @@ -81,11 +122,11 @@ function generate_home_posts_list() { $date = get_the_modified_date("d/m/Y à H:i", $measure); $cats = wp_get_object_terms($measure->ID, 'category', ['orderby'=>'parent', 'fields'=>'id=>name']); - $html .= "
"; + $html .= "
"; $html .= "

". $measure->post_title ."

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

" . implode(' > ', $cats) . "

+

" . implode(' > ', $cats) . "

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

"; $html .= "

". $status->description . "

"; @@ -95,6 +136,8 @@ function generate_home_posts_list() { $html .= "
"; } + $html .= '
'; + return $html; } @@ -102,63 +145,6 @@ 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 - - $stats = ["validated", "partially-validated", "discussed", "danger", "rejected", "undiscussed"]; - $obj_total = 0; - - - $html = ""; - - foreach ($stats as $stat) { - - $stat = get_term_by('slug', $stat, 'post-status'); - $color = get_field('couleur', "category_" . $stat->term_id); - $percent = $stat->count * 100 / $total; - - $html .= "
"; - $html .= "

" . $stat->name . "

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

" . $stat->count . "

"; - $html .= "
"; - - if (in_array($stat->slug, ['validated', 'partially-validated'])) { - $obj_total += $stat->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'); - if ( ! function_exists( 'status_taxonomy' ) ) { diff --git a/header.php b/header.php deleted file mode 100755 index 98f0c7b..0000000 --- a/header.php +++ /dev/null @@ -1,222 +0,0 @@ - - -> - - - - - - - - - - - - - - - - - - - - - - > - - - - - -