• Gelöst alberts66

    (@alberts66)


    Hallo zusammen,

    ich nutze Kategorien für meine Menüstruktur.
    Gibt es eine Möglichkeit das so zu strukturieren, dass nur Blog-Artikel angezeigt werden welche 2 Kategorien haben?

    Beispiel: Im Menü sollen nur Artikel angezeigt werden welche die Kategorie „USA“ und „Nationalpark“ haben.

    Vielen Dank für eure Hilfe!

Ansicht von 7 Antworten – 1 bis 7 (von insgesamt 7)
  • Hallo,
    ja, z. B. in der Art, dass du im Menü unter individuellem Link
    https://example.com/category/usa/
    festlegst. Siehe hier:

    Menü

    Viele Grüße
    Hans-Gerd

    Moderator Bego Mario Garde

    (@pixolin)

    Moderator (nicht mehr aktiv)

    @hage

    Die Beschreibung

    Im Menü sollen nur Artikel angezeigt werden welche die Kategorie „USA“ und „Nationalpark“ haben.

    ist etwas irreführend – im Menü selbst sollen ja wohl kaum Beiträge ausgegeben werden?

    Wenn ich das richtig verstehe, ist eine Seite gewünscht, die Beiträge aufführt, die sowohl unter der Kategorie USA also auch unter der Kategorie Nationalpark abgelegt wurden. Das ist mit dem genannten Link so nicht möglich.

    Thread-Starter alberts66

    (@alberts66)

    Hallo,

    vielen Dank erstmal für deine schnelle Antwort.
    Ich bin mir nicht sicher ob/wie mir das hilft.

    Nochmal kur ausführlicher mein Beispiel:

    Angelegte Kategorien (2 Stück) und Unterkategorien (jeweils 2 Stück):
    -Land
    –USA
    –Nepal
    -Art
    –Nationalpark
    –Stadt

    Ich habe nun einen Eintrag geschrieben und diesen den Kategorien USA und Nationalpark zugeordnet.
    Ich hätte nun gerne einen Menüpunkt, der alle Beiträge anzeigt, welche genau diese 2 Kategorien haben.

    Ist das möglich?
    Oder gibt es vielleicht einen sinnvolleren Weg seine Blog-Beiträge zu „filtern“?

    Vielen Dank und viele Grüße

    @pixolin stimmt, das wird dann so leider nicht funktionieren. Ich habe die Überschrift nicht richtig gelesen 😪

    Hallo,
    so sollte es klappen (individueller Link):
    https://example.com/category/usa+nationalpark
    Hat zumindest bei mir auf einer Testseite funktioniert.
    Viele Grüße
    Hans-Gerd

    Moderator Bego Mario Garde

    (@pixolin)

    Moderator (nicht mehr aktiv)

    Nachtrag: die Lösung von Hans-Gerd mit einem Link, der einfach beide Kategorien mit einem + enthält, funktioniert einwandfrei und ist erheblich einfacher.

    10 Punkte an Hufflepuff.

    Mit ein paar grundlegenden PHP-Kenntnissen und einer eigenen Abfrage (WP_Query) kannst du Beiträge nach verschiedenen Kriterien abrufen und in einer Loop ausgeben. Mit

    $query = new WP_Query( array( 'category__and' => array( 2, 6 ) ) );

    werden Beiträge abgerufen, die sowohl in der Kategorie mit der ID 2, als auch in der Kategorie ID 6 sind.

    Das kannst du in einem Child-Theme für ein eigenes Template nutzen. Dazu legst du ein Child-Theme an (im Web findest zu dazu viele Anleitungen), kopierst das Template home.php der Parent-Theme und änderst die Loop entsprechend ab, sinngemäß:

    <?php
    /*
     * Template Name: USA und Nationalparks
     */
     
    get_header()
    
    // The Query (Kategorie USA = ID 2, Nationalpark = ID 6)
    $the_query = new WP_Query( array( 'category__and' => array( 2, 6 ) )  );
     
    // The Loop
    if ( $the_query->have_posts() ) {
        echo '<ul>';
        while ( $the_query->have_posts() ) {
            $the_query->the_post();
            echo '<li>' . get_the_title() . '</li>';
        }
        echo '</ul>';
    } else {
        // no posts found
    }
    /* Restore original Post Data */
    wp_reset_postdata();
    
    get_footer();

    Grundsätzlich lassen sich Beiträge auch mit dem neuen Query-Block (bzw. „Abfrage-Loop“ in der denglischen Übersetzung) abrufen und du kannst dabei nach Kategorien filtern. Hier ist es bisher aber nicht möglich, eine Verknüpfung festzulegen – du fragst also „USA oder Nationalpark“ ab, nicht „USA und Nationalpark“.

    Eine andere Möglichkeit ohne Programmierkenntnisse wäre die Verwendung von z.B. Shortcodes Ultimate.

    Mit dem Shortcode

    [su_posts template="templates/list-loop.php" tax_term="usa, nationalpark" tax_operator="AND"]

    gibst du (hier mit einem Template für ein Listen-Format) alle Beiträge mit der Kategorie „USA“ und „Nationalpark“ aus, wobei durch tax_operator="AND" festgelegt wird, dass beide Kategorien enthalten sein müssen. Das einzige Problem ist, dass dieser Shortcode keine Paginierung anbietet. Wenn du also eine sehr lange Liste an Nationalparks ausgeben möchtest, ist das wahrscheinlich eher nicht geeignet.

    sorry Bego, aber für die wieder mal äußerst interessante und umfangreiche Antwort bekommst du auch:
    10 Punkte an Hufflepuff. 😊

Ansicht von 7 Antworten – 1 bis 7 (von insgesamt 7)
  • Das Thema „Menü – UND-Funktion für Kategorien“ ist für neue Antworten geschlossen.