Überschriften alphabetisch sortiert anzeigen lassen

  • Hallo,

    folgende Situation: Ich möchte auf einer seperaten Seite - zusätzlich zum normalen Archiv - die (verlinkten) Überschriften aller Beiträge einer Kategorie alphabetisch geordnet anzeigen lassen, wenn möglich ohne Plugin. Ich brauch da auch keine Anker oder Buchstabenauswahlmenüs, lediglich halt ne automatisch geordnete Übersicht der Beiträge.

    Zuerst hab ichs so versucht:

    PHP
    <?php
       {
          query_posts("cat=3&order=ABC&orderby=title");
       }
    ?>

    Das zeigt aber ja nur die Beiträge an, ich dagegen benötige nur die Überschriften. Wie bekomm ich das hin?

    • Anzeige

    Hallo!

    Wenn du gerade an deiner Website arbeitest oder dein aktuelles Hosting überdenkst: Wir betreiben mit NetzLiving eine Hosting-Plattform, die speziell auf Performance, Sicherheit und einfache Verwaltung ausgelegt ist.

    • ✔️ Schnelle Ladezeiten (optimiert für WordPress & Co.)
    • ✔️ Deutsche Server & DSGVO-konform
    • ✔️ Persönlicher Support (kein 0815-Ticket-System)

    Mehr erfahren

  • Erstmal, es muss heißen:

    PHP
    <?php query_posts("cat=3&order=[COLOR="Red"][B]asc[/B][/COLOR]&orderby=title"); ?>


    ("Asc" für "Ascending "- aufsteigend)
    Siehe auch: Template Tags/query posts « WordPress Codex und Alphabetizing Posts « WordPress Codex

    Damit holst du alle passenden Beiträge. Was du jetzt ausgibst legst du im Loop fest - d.h. innerhalb von while( have_posts() ) ... endwhile;

    Um nur die Überschriften dort auszugeben benötigst du dort nur die Ausgabe von the_title(), z.B. so:

    PHP
    <ul>
    <?php while( have_posts() ) : the_post(); ?>
      <li><a href="<?php the_permalink() ?>"><?php the_title() ?></a></li>
    <?php endwhile; ?>
    </ul>


    Mehr: Template Tags « WordPress Codex

  • bei mir gehts nicht..

    ich habe das gleiche Problem, doch funktioniert es bei mir leider nicht.
    Bei mir sind es 2 Kategorien, welche ich jeweils alphabetisch sortieren mag. Geb ich den Code ein

    PHP
    <?php query_posts("cat=1,2&order=[COLOR=Red][B]asc[/B][/COLOR]&orderby=title"); ?>

    sortiert er mir zwar die beiden Kategorien alphabetisch. Legt sie aber als eine einzige zusammen?!

    Hat jemand eine Lösung für mich?

  • Guck dir mal die Sache mit den Kategorie-Templates an bzw. mit den Conditional Tags (is_category). Dann sollte das klarer werden, wie du die Kategorien einzeln sortieren kannst.

    Wenndu nicht klar kommst, dann melde dich nochmal und erklär mal, wo du die Kategorien sortieren willst (index.php?) und welche Template-Dateien dir zur Verfügung stehen (category.php, archive.php).

  • Eingefügt hab ich den Code in die archive.php. ist es nicht auch so, das die archiv.php sich dann mit der Ausgabe anpasst?

    An der index.php hatte ich nichts verändert, da diese so bleiben soll wie sie ist. Gedacht ist es so, das nur die beiden archiv-kategorien in ihrer Ansicht eine Liste mit den Beitragsüberschriften in alphabetischer Reihenfolge ausgeben.

  • Nur damit wir uns nicht missverstehen: query_posts() ist immer für den Loop der aktuellen Seite verantwortlich, betrifft also alle Seiten die das Template archive.php nutzen! Deshalb musst du hier differenzieren, z.B. mittels Conditional Tags:

    PHP
    <?php if( is_category(1) || is_category(2) ) {
      query_posts($query_string. "&order=asc&orderby=title");
    }
    ?>


    So sollten diese beiden Kategorien 1 und 2 beim Aufruf alphabetisch sortiert werden - und nur diese beiden.

  • hallo,

    wenn ich den code eingebe bekomme ich folgenden Fehler ausgegeben.

    Code
    [B]Parse error[/B]:  syntax error, unexpected $end in [B]/xxxxxx/wp-content/themes/smashingtheme/archive.php[/B] on line [B]75[/B]

    eine Verständnisfrage: im Forum werden Lösungen Angeboten in welchen man eine neues Seitentemplate erstellt. Ist es nur so möglich?

  • Der Fehler kommt weil bei dem obigen Code eine Klammer fehlt, so müsste es aussehen:

    PHP
    <?php if( is_category(1) || is_category(2) ) {
      query_posts($query_string. "&order=asc&orderby=title");
      }
    ?>

    ---

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!