We blog … formativ.net Internetagentur

WordPress: Kategorieausgabe gezielt steuern

Wordpress Sicherheitsupdate All in One SEO Pack

WordPress ist ein ideales CMS, um lebendige Websites zu gestalten und gerade die Blogfunktionalitäten erleichtern das regelmäßige Veröffentlichen von Inhalten. Nicht immer entspricht jedoch die Darstellung der Kategorieübersicht, den gewünschten Anforderungen. Manchmal soll die Sortierung der Beiträge nicht nach Datum erfolgen oder die Anzahl der Beiträge pro Übersichtsseite soll eine andere sein. Wie ihr die Ausgabe von Beiträgen in einer Kategorie in WordPress beeinflussen könnt, zeigen wir euch in diesem kurzen How-To.

Wenn ihr auf eurer Website eine Kategorie habt, die in ihrer Ausprägung unabhängig von den anderen Kategorien im Blog ausgegeben werden soll (z.B. Anzahl der Beiträge, Sortierung etc.), könnt ihr in WordPress die Ausgabe sehr einfach ändern. Dieses ermöglicht euch zum Beispiel, innerhalb einer einzigen WordPress Website sowohl einen „klassischen Blog“ als auch z.B. ein Lexikon mit alphabetischer Sortierung zu realisieren.

Ihr benötigt hierfür nur ein Theme, in dem die functions.php überarbeitet werden kann. Tipp: Falls ihr ein gekauftes Theme einsetzt, erstellt vorab ein Child-Theme. Sonst können bei Updates eure Änderungen wieder überschrieben werden!

Wollt ihr nun z.B., dass die Beiträge einer Kategorie alphabetisch sortiert werden oder dass bei einer Kategorie mehr Beiträge anzeigt werden, als in den anderen Kategorien, teilt ihr dies WordPress über die functions.php mit.

Folgender Code muss in die functions.php eingefügt werden:
(kategoriename_oder_ID muss durch den Namen der Kategorie oder durch die ID der Kategorie ersetzt werden)

/*
 * Kategorie-Query anpassen
 */
function modify_query_for_categories( $query ) {
  if ( $query->is_category('kategoriename_oder_ID')  ) {
    $query->set( 'orderby', 'title' ); // es soll nach dem Titel sortiert werden
    $query->set( 'order', 'ASC' ); // die Sortierung soll alphabetisch sein
    $query->set( 'posts_per_page', '25' ); // es sollen 25 Beiträge angezeigt werden
  }
}

add_action( 'pre_get_posts', 'modify_query_for_categories' );

 

Die Funktion modify_query_for_categories() wird ausgeführt, bevor die Beiträge im Loop ausgegeben werden. Hierfür sorgt das pre_get_posts in der Funktion add_action() .

Ihr könnt natürlich noch weitere Änderungen für eine Kategorie vornehmen oder eine andere Kategorie ebenfalls verändern. Hierfür wird im Bereich innerhalb der Funktion modify_query_for_categories() die if-Abfrage kopiert und die Kategorie ersetzt.

Weitere Parameter, die verändert werden können, findet ihr auf den Dokumentationsseiten zu WordPress:

https://codex.wordpress.org/Template_Tags/get_posts

https://developer.wordpress.org/reference/functions/get_posts/

Comments (14)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert