1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

Kategorien in Beitragsseiten ausschließen

Dieses Thema im Forum "Konfiguration" wurde erstellt von redcat63, 11. Juli 2024.

  1. redcat63

    redcat63 Well-Known Member

    Registriert seit:
    31. März 2006
    Beiträge:
    1.092
    Zustimmungen:
    2
    Hallo alle zusammen,
    seid einigen Tagen schlage ich mich mit folgendem Problem herum:

    Ich habe folgende Kategorie-Struktur:
    Hauptkategorien:
    - Aktuelles
    - Familie & Soziales

    Die Kategorie "Familie & Soziales" enthält u.a. die Kategorie:
    - Bildung

    Diese enthält u.a. die Kategorien
    - Kitas
    - Büchereien

    D.h. meine Struktur sieht wie folgt aus

    - Familie & Soziales
    -- Bildung
    --- Kitas
    --- Büchereien

    Nun zu meinem Problem:
    Ich möchte die Beiträge aus den jeweiligen Unterkategorien ausschließen.
    D.h. wenn ich die Kategorie Familie & Soziales anklicke, möchte ich die Beiträge aus den darunterliegenden Kategorien (Bildung, Kitas, Büchereien) nicht angezeigt bekommen;
    wenn ich die Kategorie Bildung anklicke, möchte ich die Beiträge aus den darunterliegenden Kategorien (Kitas, Büchereien) nicht angezeigt bekommen.

    Im Internet habe ich dazu folgenden Code gefunden:

    function eb_filter_child_cats($query) {
    ...
    $query->set( 'category__not_in', array_merge( $array_output ) );
    return $query;
    }
    add_filter( 'pre_get_posts', 'eb_filter_child_cats' );


    Normalerweise sollte dies mit dem o.g. Code klappen, aber leider funktioniert es nicht.
    Hat jemand eine Idee, warum das so ist - oder vielleicht auch eine ganz andere Idee?
    Darüber würde ich mich sehr freuen. :)
     
  2. Henk1060-V2

    Henk1060-V2 Well-Known Member

    Registriert seit:
    27. Juni 2023
    Beiträge:
    130
    Zustimmungen:
    19
    versuchs mal mit dem angepassten


    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
  3. redcat63

    redcat63 Well-Known Member

    Registriert seit:
    31. März 2006
    Beiträge:
    1.092
    Zustimmungen:
    2
    Zunächst einmal vielen Dank für deinen hilfreichen Beitrag. :)

    statt:
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    muss es wie folgt heißen:
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Eine Frage hätte ich noch zu deinem Code:
    Was bedeutet/macht/gibt die von dir genannte Funktion $query->is_main_query() (zurück)?
    Vielen Dank schon mal im Voraus für deine Infos. :)
     
  4. uha

    uha Well-Known Member

    Registriert seit:
    14. Juli 2017
    Beiträge:
    254
    Zustimmungen:
    40
  5. redcat63

    redcat63 Well-Known Member

    Registriert seit:
    31. März 2006
    Beiträge:
    1.092
    Zustimmungen:
    2
    Der Rückgabewert ist False oder True.
    Aber wofür die Funktion "$query->is_main_query()" tatsächlich gut, sinnvoll oder sogar notwendig ist, dass konnte ich mir auch aus den Beispielen nicht erlesen.
    Vielleicht mag ja jemand von euch dies hier näher erläutern? Ich (und vielleicht auch einige andere) würde mich sehr darüber freuen. :)
     
  6. Henk1060-V2

    Henk1060-V2 Well-Known Member

    Registriert seit:
    27. Juni 2023
    Beiträge:
    130
    Zustimmungen:
    19
    das ist abfrage des aktuellen Aufrufes im diesen fall welche kategorie.
    Sonst könnte nicht aktuelle ausgeben werden

    wenn dir der code nicht passt, kein problem ;)
     
  7. redcat63

    redcat63 Well-Known Member

    Registriert seit:
    31. März 2006
    Beiträge:
    1.092
    Zustimmungen:
    2
    Vielen Dank für die Info.
    Und:
    Der code passt mir schon, aber ich verstehe ganz gerne den Code, den ich selbst verwende. :)
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden