WordPress Post Filtermenü

Hallo ich versuche ein Formular zu erstellen, das meine Beiträge nach 3 Anforderungen, Kategorien, Autor und Datum filtert. Der Benutzer sollte in der Lage sein, aus jedem Dropdown eine Anforderung auszuwählen (oder für alle leer zu lassen) und darauf basierend eine Outcoem zu erhalten, also zum Beispiel HMTL (aus Kategorien), Joe Bloggs (aus Autor) und Februar 2017 ( von Datum) und eine Seite bekommen, die alle Beiträge in der HTMl, geschrieben von Joe Bloggs, veröffentlicht im Februar 2017, zeigt.

Bisher habe ich einige functionen und ein Formular, welches bei der Auswahl einer Kategorie und eines Autors (kein Datum) zu funktionieren scheint und mich zu News / Kategorie / News /? User = 1 & date-dd & submit = filter leitet, was zeigt was ich will.

Das Datum beginnt jedoch mit Problemen. Wenn ich die gleiche Kategorie und den gleichen Autor wie vorher auswähle, aber dann Januar 2017 wähle, erhalte ich die URL news / category / news /? User = 1 & date-dd = http% 3A% 2F% 2Flocalhost% 2Fbrandbiologie% 2Fnews% 2F2017% 2F01% 2F & submit = Filter, der jetzt nicht funktioniert, zeigt die Kategorie und den Autor, aber kein Datum und eine seltsame URL.

Zweitens, wenn ich nur auf meiner Seite wird es eine Liste von Daten innerhalb eines

  • anzeigen (nicht was ich will, aber ich habe es zum Testen gemacht) und klicke Januar 2017, da es mich zu News / 2017/01 bringt, die angezeigt werden nur Beiträge im Januar (funktioniert nicht mit Kategorie IE News / Kategorie / Blog / 2017/01 / – zeigt 404).

    Meine Fragen versuchen daher, das richtige Ergebnis zu erzeugen, das die Beiträge basierend auf den 3 Anforderungen anzeigen wird, die ich möchte.

    Danke im Voraus

    Hier sind meine functionen:

     function get_cat_droplist(){ $args = array( 'show_option_all' => 'All Categories', 'show_option_none' => '', 'option_none_value' => '-1', 'orderby' => 'ID', 'order' => 'ASC', 'show_count' => 1, 'hide_empty' => 1, 'child_of' => 0, 'exclude' => '', 'include' => '', 'echo' => 1, 'selected' => 0, 'hierarchical' => 0, 'name' => 'cat', 'id' => '', 'class' => 'postform', 'depth' => 0, 'tab_index' => 0, 'taxonomy' => 'category', 'hide_if_empty' => true, 'value_field' => 'term_id', ); $output = wp_dropdown_categories( $args ); } function get_author_droplist(){ $args = array( 'show_option_all' => 'All Author', // string 'show_option_none' => null, // string 'hide_if_only_one_author' => true, // string 'orderby' => 'display_name', 'order' => 'ASC', 'include' => null, // string 'exclude' => null, // string 'multi' => false, 'show' => 'display_name', 'echo' => true, 'selected' => false, 'include_selected' => false, 'name' => 'user', // string 'id' => null, // integer 'class' => null, // string 'blog_id' => $GLOBALS['blog_id'], 'who' => null // string ); $output = wp_dropdown_users( $args ); } function get_date_droplist(){ $args = array( 'type' => 'monthly', 'limit' => '', 'format' => 'option', 'before' => '', 'after' => '', 'show_post_count' => true, 'echo' => 0, 'order' => 'DESC', 'post_type' => 'post' ); $output = wp_get_archives( $args ); } 

    und mein HTML / PHP

      <form action="" method="get"> 
    Filter posts: 'monthly', 'format' => 'option', 'show_post_count' => 1 ) ); ?>

    Solutions Collecting From Web of "WordPress Post Filtermenü"

    1- Um eine Liste der Autoren zu erhalten, können Sie verwenden:

    < ?php wp_list_authors( ); ?>

    Dies wird eine Liste von Autoren und einen Link zu ihren Konten und Posts zurückgeben. Um es mit den gewünschten Argumenten anzupassen, casting Sie einen Blick auf Codex

    2- Um die Kategorien abzurufen, verwenden Sie:

    < ?php wp_list_categories(); ?>

    Diese function gibt eine Liste aller Kategorien als HTML-Liste zurück. Sie können dies auch hier anpassen.

    3. Um die Beiträge nach Datum zu filtern, können Sie die Methode verwenden, die in dem von Ihnen angegebenen Link vorgeschlagen wird, indem Sie Folgendes verwenden:

    < ?php wp_get_archives(); ?> < ?php wp_get_archives(); ?> und setze die Argumente auf monatlich oder jährlich. Der Führer hat es ziemlich gut erklärt.

    Hinweis: Sie müssen die -Selektoren nicht verwenden, um ein Dropdown-Menü zu erstellen. Diese functionen geben ihre Ergebnisse als HTML-Liste zurück, so dass Sie sie wie ein Dropdown-Menü formatieren können. Eine vollständige Anleitung zu CSS-Drop-downs finden Sie hier .

    Sagen Sie mir, wenn Sie weitere Details zu diesen Themen benötigen.