WordPress-Abfrageseiten mit bestimmten Vorlagen

Lesezeit: 2 Minuten

Gibt es eine Möglichkeit, WordPress-Seiten abzufragen, die eine bestimmte Vorlage haben? Hier ist, was ich habe, aber nichts zeigt:

<?php $my_query = new WP_Query(array( 'meta_key' => '_wp_page_template', 'meta_value' => 'template-city.php' )); ?>
                <?php while ($my_query->have_posts()) : $my_query->the_post(); ?>
                    <li>
                    <?php the_title(); ?>
                    </li>
                <?php endwhile; ?>

Natürlich gibt es eine Seitenvorlagendatei mit dem Namen template-city.php

  • Ähm, wie würde das aber funktionieren? Was versuchst du zu erreichen?

    – SMacFadyen

    23. August 2012 um 8:20 Uhr

  • Es gibt viele Seiten auf der Website – Kontinente, mit nachgeordneten Städten, die außerdem Unterkunftskinder oder Restaurantkinder usw. haben. Jede dieser Seiten hat ihre eigene Seitenvorlage – daher möchte ich alle Städte mit Abfrage anzeigen. Hoffe das hilft?

    – jOpacic

    23. August 2012 um 8:24 Uhr

  • Es hört sich so an, als müssten Sie wp_list_pages(), codex.wordpress.org/Function_Reference/wp_list_pages

    – SMacFadyen

    23. August 2012 um 8:33 Uhr

  • Ja, aber was ist, wenn Sie das Miniaturbild der Seiten verwenden möchten? Ich möchte nicht nur Städtenamen in einer Liste anzeigen, ich möchte Zugriff auf alle Dinge auf einer Seite haben, wie zum Beispiel Miniaturansichten.

    – jOpacic

    23. August 2012 um 11:10 Uhr

Benutzeravatar von janw
janw

wenn post_type ausgelassen wird, sucht WP nach Post, und Sie suchen nach Seiten.

<?php
    $args = array(
        'post_type' => 'page',//it is a Page right?
        'post_status' => 'publish',
        'meta_query' => array(
            array(
                'key' => '_wp_page_template',
                'value' => 'template-city.php', // template name as stored in the dB
            )
        )
    );
$my_query = new WP_Query($args)
?>

  • Nur eine Erinnerung für die Leute, die das sehen: Ja, das müssen Sie haben meta_keyDer Wert von muss ein Array innerhalb eines Arrays sein, damit dies funktioniert.

    – Muhammad Abdul-Rahim

    21. Oktober 2015 um 21:51 Uhr

  • Falls dies bei Ihnen nicht funktioniert, stellen Sie sicher, dass dies der Fall ist value Pfad korrekt ist, insbesondere wenn sich Ihre Vorlagendatei in einem Ordner befindet. In meinem Fall die value musste sein page-templates/template-name.php

    – mmshr

    10. April 2019 um 15:04 Uhr

  • Können mehrere Vorlagennamen an die Abfrage übergeben werden?

    – Schattenath

    12. September 2019 um 18:06 Uhr

  • @Shadoath Ja, das kannst du: 'meta_query' => array(array('key' => '_wp_page_template','value' => ['template-city.php', 'template-other.php'], 'compare' => 'IN')) siehe die amtliche Dokumentation Für mehr Information

    – jaw

    16. September 2019 um 8:52 Uhr

  • Vergessen Sie nur nicht, ‘posts_per_page’ => -1 hinzuzufügen, sonst erhalten Sie nur 10 Ergebnisse

    – TomoMiha

    12. Dezember 2019 um 15:20 Uhr

1394840cookie-checkWordPress-Abfrageseiten mit bestimmten Vorlagen

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy