wp_query mit Tag-ID funktioniert nicht - warum?

  • Hallo Community!

    Für eine Portfolio-Auflistung kann ich im Backend "Tags" hinzufügen, und jedes Portfolio-Element dann diesen Tag zuweisen. Siehe Screenshots. In der Adresszeile kann ich lesen:

    HTML
    wp-admin/edit-tags.php?action=edit&taxonomy=tagportfolio&tag_ID=14&post_type=project

    In meinem Template-File möchte ich die wp_query dann genau anpassen.
    Sprich, zeige einmal "tag_id=14" (portfolioEN) und in einem anderen template dann "zeige tag_id=15" (portfolioDE)

    PHP
    $wp_query = new WP_Query(array('post_type' => 'project', 'tag_ID' => 14, 'posts_per_page' => $per_page, 'paged' => get_query_var('paged')));

    Leider wird nichts gefilter, sondern es werden alle Portfolio-Elemente angezeigt - sowohl 14 als auch 15.
    Warum?

    Danke!
    LG DjMG

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Hast Du es mal nur mit dem tag_id Filter getestet, also ohne die anderen Argumente?

    Das Geheimnis des Könnens liegt im Wollen!
    [size=12]Bitte keine Hilfegesuche per PN (auch keine "privaten" Links). Das ist ein öffentliches Forum.[/SIZE]

  • Du meinst also so:

    PHP
    $wp_query = new WP_Query(array('tag_id' => 14));

    Dann wird wieder nichts gefiltert, es werden alle Portfolio-Elemente angezeigt :(

  • Außer das der Server wegen zu geringen Limit den Dienst quittiert oder Browser abstürzt, so wie bei mir gerade beides hintereinander passiert ist, funktioniert das meistens richtig gut mit print_r. Es wird klein geschrieben:

    Code
    WP_Query Object
    (
        [query_vars] => Array
            (
                ...
                ...
                [tag] => 
                [cat] => 
                [tag_id] => 
                ...
  • So, nun ist die Testseite absturzsicher und Du kannst unterschiedliche Varianten von new WP_Query testen und Dir anzeigen lassen, was alles enthalten ist.


    The Loop war hier vollkommen überflüssig, wie es ausschaut und hat erst den Absturz verursacht, weil $neuer_query->the_post() fehlte, um rechtzeitig ein false auszulösen.

    Einmal editiert, zuletzt von Melewo (5. Juni 2014 um 17:27)

  • So, noch einiges getestet.


    Ausgabe:


    Wenn ich dann die Tag-Id 32 abfrage, dann ist auch alles was ich wissen will enthalten und kann mir dann zum Beispiel [post_content] ausgeben lassen. Dazu im ersten Test ruhig einmal

    Code
    echo $neuer_query->posts[0]->post_content;


    benutzen und erst nach dem Test diese Aufgabe wieder richtig von The Loop und den WP-Funktionen erledigen lassen.

    Nur für Tests gedacht:


    Wichtig ist eigentlich nur ein halbwegs sicherer Umgang mit Arrays, um zu erkennen wie was verschachtelt ist.

    Einmal editiert, zuletzt von Melewo (5. Juni 2014 um 18:20)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!