From 240f244e2b6bf5ced8d4b1aa4dab0d9a4ab1c1f4 Mon Sep 17 00:00:00 2001 From: Jonas Heinrich Date: Sat, 11 Jul 2020 22:36:15 +0200 Subject: [PATCH] category bestand alpha filter --- kit/category-bestand.php | 65 +++++++++++++++++++--------------------- kit/js/custom.js | 20 ++++++++++++- 2 files changed, 49 insertions(+), 36 deletions(-) diff --git a/kit/category-bestand.php b/kit/category-bestand.php index e6a793f..c71d1aa 100644 --- a/kit/category-bestand.php +++ b/kit/category-bestand.php @@ -3,27 +3,21 @@ Template Name: Bestand */ -get_header(); - - - $numberofusers = $wpdb->get_results( " - SELECT post_title - FROM {$wpdb->posts} - WHERE post_type = 'post' and post_status = 'publish' - ORDER BY post_title ASC" ); - //echo '
'; print_r($numberofusers); echo '
'; + get_header(); + $categories = get_the_category(); $args = array( 'cat' => $categories[0]->cat_ID, 'orderby' => 'title', 'order' => 'ASC', + 'nopaging' => true, ); $query = new WP_Query( $args ); $available_chars = []; if ( $query->have_posts() ) { while ( $query->have_posts() ) : $query->the_post(); - array_push($available_chars, substr(get_the_title(),0,1)); + array_push($available_chars, mb_substr(get_the_title(),0,1,"utf-8")); endwhile; wp_reset_postdata(); }; @@ -35,10 +29,11 @@ get_header();

- name ); - } ?> + name ); + } + ?>

@@ -66,28 +61,28 @@ get_header();

+
@@ -109,7 +104,7 @@ get_header(); while ( $query->have_posts() ) : $query->the_post(); - $first_char = substr( esc_html( get_the_title() ) ,0,1 ); + $first_char = mb_substr( esc_html( get_the_title() ) ,0,1,"utf-8" ); if ($last_first_char === $first_char) { echo '
  • diff --git a/kit/js/custom.js b/kit/js/custom.js index d4f7d9c..aac59ca 100644 --- a/kit/js/custom.js +++ b/kit/js/custom.js @@ -1,6 +1,24 @@ document.addEventListener("DOMContentLoaded", function() { $("ul.catFilter li.available").on("click", function(e){ + e.preventDefault(); - console.log("test"); + + var catFilter = document.getElementsByClassName("catFilter")[0]; + var catElement = catFilter.querySelector('.active'); + catElement.classList.remove('active'); + this.classList.add('active'); + + + var requestLetter = $(this).find('a:first').text().trim(); + var lists = document.getElementsByClassName("bestandliste"); + for (let list of lists) { + var listLetter = list.id; + if (listLetter != requestLetter && requestLetter != "Alle") { + list.style.display = "none"; + } else { + list.style.display = "block"; + }; + } + }); });