Hast du mal $query->is_term()
probiert?
Ich würde das weiter einschränken, dass die Funktion nur für den Custom Post Type ausgeführt wird.
Noch ein Tipp: Wir helfen hier gerne bei Anwendungs-Fragen. Bei Fragen zur Programmierung bist du bei WordPress Stackexchange besser aufgehoben.
Sehr geil das war es:
add_action( 'pre_get_posts', 'pflanzen_abc' );
function pflanzen_abc( $query ) {
$query->is_term();
$query->set( 'orderby', 'title' );
$query->set('order', 'ASC');
}
Danke auch für den Hinweis WordPress Stackexchange
—
Moderationshinweis: Hier fehlt das if-Statement. 🙂
-
Diese Antwort wurde geändert vor 2 Jahren, 3 Monaten von
Bego Mario Garde. Grund: Code formatiert
-
Diese Antwort wurde vor 2 Jahren, 3 Monaten von
Bego Mario Garde geändert.
Nur gilt die Sortierreihenfolge dann automatisch für alle Inhaltstypen, weshalb ich das weiter eingrenzen würde. Wahrscheinlich soll das auch nur das Front-End und auch nur die Hauptabfrage betreffen? Sinngemäß (soll heißen: nicht geprüft):
add_action( 'pre_get_posts', 'pflanzen_abc' );
function pflanzen_abc( $query ) {
if( ! is_admin() &&
in_array ( $query->get('post_type'),
array('pflanzen','pilze') &&
is_main_query() &&
$query->is_term() ) {
$query->set( 'orderby', 'title' );
$query->set('order', 'ASC');
}
}
Das ist richtig. Es sol nur für den unhaltstyp Pflanzen und nicht für normale Beiträge gültig sein. Wenn ich das allerdins so in die functions.php übernehme verabschiedet sich WP.
und mit der if Anfrage funktionieert die Sortierung leider gar nicht mehr
add_action( 'pre_get_posts', 'pflanzen_abc' );
function pflanzen_abc( $query ) {
if ( $query->is_term( 'pflanzen' ) ) {
$query->set( 'orderby', 'title' );
$query->set('order', 'ASC');
}
}
Wenn ich das allerdins so in die functions.php übernehme verabschiedet sich WP.
Du hast das schon noch angepasst? Wahrscheinlich hast du keinen Post-Type „Pilze“.
und mit der if Anfrage funktionieert die Sortierung leider gar nicht mehr
Hm, pflanzen
ist ja auch kein „Begriff“ (term
) der Custom Taxonomy?
Nehmen wir an, du hast als Custom Taxonomy den standort
der Pflanzen gewählt. Dann könntest du folgenden Code verwenden:
function sort_posts_alphabetically_on_standort_archives( $query ) {
if ( $query->is_main_query() && $query->is_tax('standort') ) {
$query->set( 'orderby', 'title' );
$query->set( 'order', 'ASC' );
}
}
add_action( 'pre_get_posts', 'sort_posts_alphabetically_on_country_archives' );
Rufst du dann https://example.com/standort/sonnig
auf, werden die Beiträge alphabetisch sortiert.
Vielen Dank. So hat es funktioniert.
function sort_pflanzen_alphabetically( $query ) {
if ( $query->is_main_query() && $query->is_tax('pflanzenkategorie') ) {
$query->set( 'orderby', 'title' );
$query->set( 'order', 'ASC' );
}
}
add_action( 'pre_get_posts', 'sort_pflanzen_alphabetically' );
Prima. Dann spricht sicher nichts dagegen, den Thread als „gelöst“ zu markieren?
Denkst du da demnächst bitte selber dran? Danke.
Gerne. Beim nächsten Mal denke ich dran.