it-swarm.com.de

Einträge in alphabetischer Reihenfolge auflisten

Was ich versuche zu erreichen, ist die Liste in alphabetischer Reihenfolge zu setzen. Irgendwelche Gedanken darüber, wie ich dies erfolgreich erreichen kann?

Ich habe das folgende Snippet als Referenz eingefügt.

 <ul class="hotel-list">
                  <?php while (have_posts()) : the_post(); ?>
                    <?php
                    $short_description = get_post_meta(get_the_ID(), 'short_search_description', true);
                    $destination = get_post_meta(get_the_ID(), 'destination', true);
                    ?>
                    <li>
                        <a href="<?php the_permalink(); ?>"><?php the_post_thumbnail(array(250, 9999)); ?></a>
                        <a href="<?php the_permalink(); ?>"><?php the_title(); echo $destination; ?></a>
                        <p><?php echo $short_description; ?></p>
                        <div class="clear"></div>
                    </li>
                  <?php endwhile
                  ; ?>
               </ul>
1

Im Gegensatz zu dem, was in der akzeptierten Antwort vorgeschlagen wird, sollten Sie niemals query_posts verwenden.

Hinweis:Diese Funktion ist nicht für Plugins oder Themes vorgesehen. Wie später erläutert, gibt es bessere, leistungsfähigere Optionen zum Ändern der Hauptabfrage. Mit query_posts () kann die Hauptabfrage einer Seite übermäßig vereinfacht und problematisch geändert werden, indem sie durch eine neue Instanz der Abfrage ersetzt wird. Es ist ineffizient (führt SQL-Abfragen erneut aus) und schlägt unter bestimmten Umständen (besonders häufig bei Seitenumbrüchen) fehl.

Wenn Sie sich Ihren Code ansehen, ist dies die Hauptabfrage bei einigen Vorlagen, und da Sie sich nicht die Zeit genommen haben, auf den @ Roberthue-Kommentar zum OP zu antworten, weiß ich immer noch nicht, welche Vorlage. Dies bringt mich zu folgendem Punkt:neverErsetzen Sie die Hauptabfrage für einen beliebigen Typ einer benutzerdefinierten Abfrage auf einer beliebigen Archivseite oder Homepage. Benutzerdefinierte Abfragen ersetzen möglicherweise nur die Hauptabfrage in Seitenvorlagen. Bitte lesen Sie diesen Beitrag der erklären sollte, warum ich diese Aussagen gemacht habe

Sie hätten einfach nur pre_get_posts verwenden können, um Ihre Post-Bestellung auf der spezifischen Vorlage in Verbindung mit den bedingten Tags zu ändern.

Beispiel zum Ändern der Nachbestellung auf einer Kategorieseite

add_action( 'pre_get_posts', function ( $query ) {
    if ( !is_admin() && $query->is_home() && $query->is_main_query() ) {
        $query->set( 'orderby', 'title' );
        $query->set( 'order', 'ASC' );
    }
});

Wenn Sie dies für alle Vorlagen benötigen, können Sie so etwas tun

add_action( 'pre_get_posts', function ( $query ) {
    if ( !is_admin() && !$query->is_page() && $query->is_main_query() ) { //Exclude page templates
        $query->set( 'orderby', 'title' );
        $query->set( 'order', 'ASC' );
    }
});
2
Pieter Goosen

Sie können dieses Plugin verwenden: GR Order Category Post ( https://wordpress.org/plugins/gr-order-category-post/ )

0
Timothy Huynh