Reihenfolge der Beiträge in den Kategorien ändern

Die meisten meiner Kategorien sind Sammlungen zu irgendeinem Thema und lassen sich am besten chronologisch darstellen. WordPress sortiert die Beiträge in den Kategorien zunächst aber „gegen den Strich“, meint: die jeweils letzten Beiträge zuerst. Heute will ich versuchen, das zu ändern.

Nach einiger Lektüre ist die Aufgabe etwas klarer.

  1. Das zuständige Template finden, Kandidaten sind category.-, archive.- und/oder  index.php
  2. Dort etwas identifizieren, das die LOOP genannt wird und
  3. davor etwas einfügen, das so oder ähnlich aussieht: query_posts(‚order=asc‚);

OK, jetzt Punkt für Punkt klären (oder wenigstens intelligent raten).

zu 1. Verändert werden muss die entsprechende Datei im Themen-Ordner, bei mir …/wp-content/themes/dialogue/archive.php

zu 2. Die LOOP sieht so aus: if ( have_posts() ) : while ( have_posts() ) : the_post(); , davor ist sowas: <?php, und dazwischen muss der einzufügende Befehl. Im konkreten Fall gab es eine Variation, die in der Datei als HACK dokumentiert war. Der erste Teil der LOOP war abgetrennt um irgendwas mit dem Datum zu fixen, deswegen habe ich sie ert nicht erkannt und war dann unsicher, wo ich unter diesen veränderten Umständen den Befehl einfügen sollte. Lösung: immer noch vor der, nun halt aufgetrennten LOOP.

zu 3. Abschließende Hilfe gab es dann auf: http://codex.wordpress.org/Template_Tags/query_posts#Order_Parameters

For example, to set the display order of the posts without affecting the rest of the query string, you could place the following before The Loop:

global $query_string;
query_posts($query_string . "&order=ASC");

When using query_posts in this way, the quoted portion of the argument must begin with an ampersand (&).

Geschafft!

Nachtrag: Damit die Umkehrung der Reihenfolge auch dann gilt, wenn man aus der Tag-Cloud ins Archiv springt, muss die Datei …/wp-content/themes/dialogue/tag.php ebenfalls in der beschriebenen Weise verändert werden.

Schreibe einen Kommentar

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