Autoren alphabetisch nach Nachname sortieren

  • Hallo! Wer kennt sich aus,

    ich möchte mit Hilfe des List-Author-Templates alle Autoren alphabetisch
    nach Nachnamen auflisten lassen unabhängig davon was der Autor in seiner
    persönlichen Einstellung eingestellt hat. Nun weiß ich nicht wie ich das
    formulieren soll, damit mein Wunsch in Erfüllung geht.
    In meinem Versuch haben alle angelegten Autoren einen Vor- und
    Nachnamen und in der persönlichen Einstellung im Backend ist "Vor- und
    Nachnahme anzeigen" eingestellt. Die Auflistung definiert sich bisher über
    den ersten Buchstaben also den Vornamen.

    Dies ist mein gescheiterter Versuch:

    PHP
    <?php wp_list_authors('exclude_admin=0&hide_empty=0&orderby_the_author_lastname=1'); ?>

    Über eine Antwort würde ich mich sehr freuen, liebe Grüße – Matze

    • 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

  • Wo hast Du denn den Parameter [COLOR=Black]"[/COLOR][COLOR=#000000][COLOR=#cc0000][COLOR=Black]orderby_the_author_lastname" her?! Falls Du ihn Dir einfach ausgedacht hast: Das geht natürlich nicht, die Funktion muss den Parameter schon kennen. Was sie laut der von Dir verlinkten Codex-Seite nicht tut. Wenn man in die Funktion mal reinschaut, dann sieht man da ein "ORDER BY display_name" fest in der SQL-Query (ähm, WP 2.3.3 bei mir, weiß nicht wie es in 2.5 aussieht). Das wird dann wohl der Name sein, den der User als Display-Name eingestellt hat, nehme ich an, hier also Vor- und Nachname.

    Du könntest schauen, ob es eine Funktion gibt, die den Autor nicht ausgibt get_authors() z.B. und dann deren Ergebnis einfach selber sortieren. Vielleicht ist in 2.5. die Query ja auch anpassbar, was die Sortierung betrifft. Das wären so spontane Ideen dazu...
    [/COLOR] [/COLOR][/COLOR]

  • Ist in 2.5 immer noch so :-)

    Lösungsvorschlag: die Funktion wp_list_authors() aus author-template.php raus- und in die functions.php des Themes reinkopieren, umbennen und die Datenbankabfrage umschreiben:

    Code
    ... ORDER BY last_name

    Dann kann man die geänderte Funktion aufrufen. Alles andere scheint mir deutlich umständlicher.

  • Ich danke für eure beiden Anregungen.
    Interessant das man die Sachen einfach in die function.php übertragen kann, habe ich bisher aber noch nicht ausprobiert.
    Leider habe ich mich etwas missverständlich ausgdrückt und vergaß einen Teil zu posten, den ich in die author-template.php hinein schrieb.

    das war meine Ergänzung auf Zeile 439 in der author-template.php:

    PHP
    'ORDER BY the_author_lastname' => true

    Wie geschrieben, hat das nicht funktioniert. Darauf habe ich in Zeile 448 display_name ersetzt durch ID und das hat funktioniert
    aber nicht das verflixte last_name!? Wieso nicht, kann mir da jemand helfen?

    hier ist meine Modifikation aus der Zeile 448 der author-template.php

    PHP
    $authors = $wpdb->get_results("SELECT ID, user_nicename from $wpdb->users " . ($exclude_admin ? "WHERE user_login <> 'admin' " : '') . "ORDER BY ID");
  • Stimmt :( last_name ist in der Tabelle wp_usermeta abgelegt, da kommt man so ohne Weiteres nicht dran... Also vergiss, was ich oben geschrieben habe...

    Dann die andere Variante: Ausgabe mit echo=FALSE unterbinden und die Ausgabe selbst umsortieren. Ist aber dann etwas komplizierter...

Jetzt mitmachen!

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