1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

Kategorie alphabetisch ordnen

Dieses Thema im Forum "Design" wurde erstellt von stevie99, 18. November 2007.

  1. stevie99

    stevie99 Well-Known Member

    Registriert seit:
    5. November 2007
    Beiträge:
    258
    Zustimmungen:
    0
    Hallo,

    ich möchte eine einzelnen kategorie anlegen und in diese kommen ein paar Tausend Beiträge rein.

    Diese Beiträge würde ich gerne auf der "Startseite" der Kategorie durchsuchbar machen und nach Alphabet ordnen.

    Also Pratkisch eine Suche einbauen, die sich nur auf diese Kategorie bezieht (besser noch wäre wählbar, in dieser Kategorie suchen oder die ganze Domain durchsuchen, die normalen Suchfunktionen von Wordpress müssen aber natürlich erhalten bleiben) und dann will ich noch A B C D E.... abbilden und wenn man auf a Klickt, kommen alle mit A etc.

    Jemand eine Idee ?
     
  2. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0
    Alphabetische Sortierung, am Beispiel einer einzelnen Kategorie:
    Alphabetizing Posts « WordPress Codex

    Dann in das Kategorie-Template das normale Suchfeld einbauen, wie es auch in der Sidebar ist, und um ein hidden-Feld erweitern:
    <input type="hidden" name="cat" value="1" />
    Statt der 1 natürlich die Kategorie-ID angeben. So sucht WP nur in dieser einen Kategorie.

    Zu A B C... gabs hier mal einen Thread, aber ohne Lösung, wenn ich mich richtig erinnere. Das geht also in WP nicht so einfach.
     
  3. stevie99

    stevie99 Well-Known Member

    Registriert seit:
    5. November 2007
    Beiträge:
    258
    Zustimmungen:
    0
    Ich muss dann wohl ein eigenes Template für diese Kategorie erstellen oder ?

    Wenn ja, bitte mal ganz kurz wie.

    Also ich brauche eine Übersichtsseite, wo man reinschreibt, hier könnt Ihr durchsuchen, das suchfeld einbaut und das Alphabate.

    Dann die einzelenen Beiträge und eine Seite wo man alle ansehen kann.
     
  4. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0
    Lies dir doch BITTE mal die Seiten durch, die ich verlinke! Dort ist alles ganz genau erklärt. Sogar mit wunderschönen Kommentaren.
     
  5. stevie99

    stevie99 Well-Known Member

    Registriert seit:
    5. November 2007
    Beiträge:
    258
    Zustimmungen:
    0
    Jetzt hast Du mich missverstanden.

    Das ist schon klar, das man für die einzelnen Buchstaben dann ein einzelnen Template machen muss.

    Ich meinte für die Startseite der Kategorie, wo ich parttiksch die Suche einbaue.

    Und wenn ich es richtig verstanden habe, dann müsste ich jetzt 26 subkategorien (Soviel Buchstaben hat das Alphabet nunmal) zur Hauptkategorie anlegen und deren ID´s dann mit dem von Dir verlinkten Tool verwenden und für jeden Buchstaben eine eigene Page (Template) erstellen. Dann lege ich in meiner "Startseite" der Oberkategorie A,B,C etc. an und verlinke den jeweiligen Buchstaben mit der dazugehörigen Templateseite. Richtig ?

    Ergänzung: Ich sehe gerade, er kann nur eine Liste erstellen, offenbar keine einzelnen Buchstaben ausgeben.

    Ich bräuchte ein script: Alle Postings aus der Kategorie XY mit dem Anfangsbuchstaben "A"
    unsw.

    Kann man das vorliegende evtl. erweitern ?
     
    #5 stevie99, 18. November 2007
    Zuletzt bearbeitet: 18. November 2007
  6. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0
    Ahja. Na gut. Also ich nehm mal an, du willst folgende Kategoriestuktur:

    Alphabet-Startseite
    - A
    - B
    - ...
    - Z

    Wobei "Alphabet-Startseite" und "A"-"Z" jeweils Kategorien sind, richtig?

    Auf diese kommt dann das Alphabet als Links (von Hand eingetragen - musst du ja eh, da die Kategorie-Templates ja auch von Hand angelegt werden müssen)

    Und darüber das Suchfeld, wie oben schon angedeutet. Dieses Kategorietemplate würde dann keinen Loop enthalten.

    Nehmen wir an, die Startkategorie hätte die ID 1 und die Alphabet-Kategorien die IDs 2-27. Dann legst du eine category-1.php in deinem Theme an (nur der Hauptteil, Header usw. je nach Belieben):

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Und die category-2.php bis category-27.php so:
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Wie der Loop auszusehen hat hab ich dir bereits nebenan erklärt, das spar ich mir mal hier.


    Tipp: Da die category-2.php bis category-27.php alle gleich aussehen, kannst du dir auch eine alphabetized-cat.php anlegen, die diesen Inhalt hat, und in die category-2.php bis category-27.php nur folgendes:
    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    So musst du nicht alle 26 Dateien bei Änderungen bearbeiten, sondern nur die alphabetized-cat.php ändern.
     
    #6 marX, 18. November 2007
    Zuletzt bearbeitet: 18. November 2007
  7. stevie99

    stevie99 Well-Known Member

    Registriert seit:
    5. November 2007
    Beiträge:
    258
    Zustimmungen:
    0
    Super dass Du es geschrieben hast (sehr nett), aber so hätte ich es jetzt auch gemacht.

    Frage nur: Was gibt der denn dann dabei aus ?

    Gibt er denn tatsächlich bei ID-2 auch nur "A" aus ?

    In dem Tool das Du verlinkt hast, steht nämlich, dass er nur eine Liste des Alphabets nach macht

    P.S.: Wieso steht im Link eigentlich "PHP get echo ?"
     
    #7 stevie99, 18. November 2007
    Zuletzt bearbeitet: 18. November 2007
  8. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0
    :D

    Auf der Startseite gibt er das Suchformular aus, sowie eine Alphabet-Liste die jeweils auf die Unterkategorien verlinkt. Es werden hier keine Beiträge ausgegeben (es ist ja auch kein Loop vorhanden).
    Beim Posten muss dann natürlich drauf geachtet werden, dass ein Beitrag zum Theme "Birnen" auch in die Unterkategorie "B" gepostet wird.

    Du meinst das get_category_link() ? Aus der Doku: "Returns the correct url for a given Category ID." Liefert dir also die Kategorie-URL.


    Ja.


    siehe get_category_link().


    Nachtrag: <?php query_posts($query_string . '&orderby=title&order=asc'); ?> in einem Kategorietemplate bewirkt, dass die Auflistung der Beiträge in dieser Kategorie aufsteigend alphabetisch erfolgt.
     
    #8 marX, 18. November 2007
    Zuletzt bearbeitet: 18. November 2007
  9. stevie99

    stevie99 Well-Known Member

    Registriert seit:
    5. November 2007
    Beiträge:
    258
    Zustimmungen:
    0
    Zuerst einmal vielen vielen Dank, lieber Marx.

    Es klappt wunderbar !

    Frage noch

    Er zeigt im Link hetzt /category/kuenstlerdatenbank "Category mit an.

    Das macht er bei meinen anderen nicht und soll er auch nicht tun.
    Wie kann ich das ändern ?

    Und noch etwas:

    ich habe jetzt unter "A" ein Posting angegeben.


    Er zeigt aber nichts an, wenn ich auf "A" gehe.

    Die Codes sind so:

    Category-33.php (Das ist die Übersichtsseite)

    <?php get_header();?>



    <div id="content" class="narrowcolumn">
    <form id="alphasearch" action="" method="get">
    <fieldset>
    <input name="s" type="text" value="<?php the_search_query(); ?>" />
    <input type="hidden" name="cat" value="33" />
    <input type="submit" value="Suchen" />
    </fieldset>
    </form>
    <ul id="alphalist">
    <li><a href="<?php echo get_category_link(34); ?>">A</a></li>
    <li><a href="<?php echo get_category_link(35); ?>">B</a></li>
    <li><a href="<?php echo get_category_link(36); ?>">C</a></li>
    <li><a href="<?php echo get_category_link(37); ?>">D</a></li>
    <li><a href="<?php echo get_category_link(38); ?>">E</a></li>
    <li><a href="<?php echo get_category_link(39); ?>">F</a></li>
    <li><a href="<?php echo get_category_link(40); ?>">G</a></li>
    <li><a href="<?php echo get_category_link(41); ?>">H</a></li>
    <li><a href="<?php echo get_category_link(42); ?>">I</a></li>
    <li><a href="<?php echo get_category_link(43); ?>">J</a></li>
    <li><a href="<?php echo get_category_link(44); ?>">K</a></li>
    <li><a href="<?php echo get_category_link(45); ?>">L</a></li>
    <li><a href="<?php echo get_category_link(46); ?>">M</a></li>
    <li><a href="<?php echo get_category_link(47); ?>">N</a></li>
    <li><a href="<?php echo get_category_link(48); ?>">O</a></li>
    <li><a href="<?php echo get_category_link(49); ?>">P</a></li>
    <li><a href="<?php echo get_category_link(50); ?>">Q</a></li>
    <li><a href="<?php echo get_category_link(51); ?>">R</a></li>
    <li><a href="<?php echo get_category_link(52); ?>">S</a></li>
    <li><a href="<?php echo get_category_link(53); ?>">T</a></li>
    <li><a href="<?php echo get_category_link(54); ?>">U</a></li>
    <li><a href="<?php echo get_category_link(55); ?>">V</a></li>
    <li><a href="<?php echo get_category_link(56); ?>">W</a></li>
    <li><a href="<?php echo get_category_link(57); ?>">X</a></li>
    <li><a href="<?php echo get_category_link(58); ?>">Y</a></li>
    <li><a href="<?php echo get_category_link(59); ?>">Z</a></li>
    <li><a href="<?php echo get_category_link(60); ?>">*</a></li>
    </ul>
    </div>

    <?php get_sidebar(); ?>

    <?php get_footer(); ?>


    und die Category-34 (das ist "A"):

    <?php get_header();?>



    <div id="content" class="narrowcolumn">
    <?php query_posts($query_string . '&orderby=title&order=asc'); ?>
    <?php while (have_posts()) : the_post(); ?>
    <?php endwhile; ?>
    </div>

    <?php get_sidebar(); ?>

    <?php get_footer(); ?>
     
    #9 stevie99, 18. November 2007
    Zuletzt bearbeitet: 18. November 2007
  10. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0
    Kleines 'm', großes 'X' bitte! Sonst denkt noch einer, ich heiße "Karl" mit Vornamen. ;)

    Sehr schön!


    Backend > Einstellungen > Permalinks
    Da unten gibts "Kategorie-Basis". Dort kannst du was andres eintragen. Ich hab da "/." drin stehen, dann würde der Link so aussehen: "/kuenstlerdatenbank" (manche ältere Browser machen daraus zwar ein "/./kuenstlerdatenbank", aber das stört höchstens optisch ein wenig, auch die zeigen die Seiten korrekt an).

    Logisch. Guck dir mal an, was bei dir innerhalb des Loops, also in der while-Schleife passiert:
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Richtig. Gar nix. ;) Da müssen jetzt noch die gewünschten Template Tags rein, also "the_title()", "the_content()" usw. Deswegen ja in meinem Code oben die Auslassungszeichen.

    PS: Du hast mal wieder die Code-Tags bei deinen Quelltexten vergessen. ;)
     
  11. stevie99

    stevie99 Well-Known Member

    Registriert seit:
    5. November 2007
    Beiträge:
    258
    Zustimmungen:
    0
    Ok, alles verstanden.

    In der Kategoriebasis steht bei mir jedoch im Moment gar nichts drin.

    Komisch ist auch, dass es in anderen kategorien einwandfrei hinhaut.

    Denkst Du nicht, das hat einen anderen Grund ?

    Denn zum Beispiel die Kategorie News zeigt er /news/Beitrag an.

    Das was Du vorgeschlagen hast mache ich mal lieber nicht, denn das würde zu falschen links führen, die User dann am ende auch noch falsch verlinken.

    ein // darf nicht entstehene. Wir sind sehr auf Suchmaschinen angewiesen.

    Wieso macht er denn eigentlich das in den anderen kategorien richtig und nur in der nicht ?

    Ach ja und:

    <?php get_header();?>



    <div id="content" class="narrowcolumn">
    <?php query_posts($query_string . '&orderby=title&order=asc'); ?>
    <?php while (have_posts()) : the_post(); ?>
    <div class="cats">
    <?php while (have_posts()) : the_post(); ?>
    <div class="entry">
    <h2><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2>
    <?php the_content_limit(400, "mehr..."); ?>

    </div><!--entry end-->

    <?php endwhile; ?>
    </div></div>

    <?php get_sidebar(); ?>

    <?php get_footer(); ?>

    Was ist falsch ?
     
    #11 stevie99, 18. November 2007
    Zuletzt bearbeitet: 18. November 2007
  12. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0
    Dann wird der Standard verwendet, steht doch da. Im Normalfall von WP also /category


    Echte Kategorien-Übersicht? Oder Seitentemplates?


    Eher nicht.


    Ich bin mir zwar nicht 100% sicher (kann man in Bezig auf SuMas nie sein), aber ich vermute mal ganz stark, dass das keinerlei Einfluss auf die SuMas hat, da die URLs äquivalent sind.


    1. Da fehlen Code-Tags.
    2. Da ist ein doppelter Loop (d.h. 2 ineinander verschachtelte while-Schleifen - wobei die 2. nichtmal geschlossen wird). Entferne das 2. Auftreten von <?php while (have_posts()) : the_post(); ?> Ich dachte du hättest die Grundstrukturen von WP langsam verstanden?
     
  13. stevie99

    stevie99 Well-Known Member

    Registriert seit:
    5. November 2007
    Beiträge:
    258
    Zustimmungen:
    0
    ja...denke ich auch :)
    Habe einfach nicht aufgepasst.

    Ja echte Kategorien (alle anderen) werden ohne categroy angezeigt, also mit ihrem korrektem Namen.

    Darum geht es ja. die Kategorie soll ja drin sethen, nur eben ihr korrrekter Name.

    Nochmal zur Korrektur:

    ok so ?

    <?php get_header();?>



    <div id="content" class="narrowcolumn">
    <?php query_posts($query_string . '&orderby=title&order=asc'); ?>
    <?php while (have_posts()) : the_post(); ?>
    <div class="cats">
    <div class="entry">
    <h2><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></h2>
    <?php the_content_limit(400, "mehr..."); ?>

    </div><!--entry end-->

    <?php endwhile; ?>
    </div></div>

    <?php get_sidebar(); ?>

    <?php get_footer(); ?>
     
    #13 stevie99, 18. November 2007
    Zuletzt bearbeitet: 18. November 2007
  14. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0
    Merkwürdig...


    Bis auf die fehlenden Code-Tags... ja. Nur eine Kleinigkeit:

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    1 DIV außerhalb des Loops geöffnet, und 2 innerhalb. Aber nur 1 innerhalb geschlossen, 2 außerhalb. Siehe rot markierte Zeile (hier schon korrigiert).
     
  15. stevie99

    stevie99 Well-Known Member

    Registriert seit:
    5. November 2007
    Beiträge:
    258
    Zustimmungen:
    0
    Aber was mache ich jetzt mit der Kategorienanzeige ?
    Das ist echt ein Problem !
     
  16. stevie99

    stevie99 Well-Known Member

    Registriert seit:
    5. November 2007
    Beiträge:
    258
    Zustimmungen:
    0
    Wenn Du das mit "The Category" so machst, wie Du es geschrieben hast, dann stimmen ja die ganzen internen link nicht.
     
  17. stevie99

    stevie99 Well-Known Member

    Registriert seit:
    5. November 2007
    Beiträge:
    258
    Zustimmungen:
    0
    Ich habe die Problematik nun mit dem Plugin Top-Level-Cats bereinigt. Problem nur. Klicke ich auf eine Kategorie, gibt es nen 404 Fehler. Sprich, er findet dann die Seitze nicht.

    Müsste Dir MarX bei Deiner Version auch so gegangen sein. Was tun ?
     
  18. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0
    So wie ich es oben beschrieben habe, geht es bei mir. Zu sehen hier:
    SV Fronberg Schreiersgrün e.V.
    Wie gesagt, ich hab nur die Kategoriebasis geändert. Ich setze kein Plugin dafür ein.

    Guck dir ruhig auch mal den Quelltext der Sidebar an, und was die verschiedenen Browser draus machen.

    Nachtrag: Es könnte evtl. Probleme geben, wenn sich danach URLs überschneiden, z.B. weil eine Seite u. eine Kategorie gleich heißen und somit die gleiche URL erhalten!
     
    #18 marX, 19. November 2007
    Zuletzt bearbeitet: 19. November 2007
  19. stevie99

    stevie99 Well-Known Member

    Registriert seit:
    5. November 2007
    Beiträge:
    258
    Zustimmungen:
    0
    Aber woran kann es liegen, dass alle Echolinks nicht mehr gehen ?
     
  20. marX

    marX Well-Known Member
    Ehrenmitglied

    Registriert seit:
    5. Oktober 2006
    Beiträge:
    12.943
    Zustimmungen:
    0
    Keine Ahnung. Wie sieht der PHP-Code aus? Was macht WP für einen Link draus? Wie sehen andere Links aus? Werden die von PHP/WP generiert oder hartcodiert?
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden