Anleitungen

Memberseiten in WordPress

Für einen Schweizer Partyverein stand ich vor der delikaten Aufgabe ein WordPress Theme zu entwickeln. Die Knacknuss: Alle Vorstandsmitglieder und Staffs sollten im WordPress Backend via Registrierung erfasst und danach im Frontend angezeigt werden.

Die Lösung

Ich habe mir ein eigenes author.php File zusammengeschustert. Um aber mehrere registrierte User anzeigen zu können, reichen die normalen Tags nicht mehr aus. Dafür wird die Variable $curauth (Current Author) benötigt.

Allerdings muss vor der Abfrage aller Daten zum Member dieser Codeschnipsel eingefügt werden:

<?php
if(isset($_GET['author_name'])) :
$curauth = $get_userdatabylogin($author_name);
else :
$curauth = $get_userdata(intval($author));
endif;
?>

Danach können die ersten Tags eingefügt werden.

<h2><?php echo $curauth->first_name . ' ' . $curauth->last_name; ?>
<img src="<?php bloginfo('stylesheet_directory'); ?>/images/authors/
<php echo $curauth->last_name; ?>.jpg" alt="<?php echo $curauth->nickname ?>"
class="author <?php echo $curauth->nickname ?> />

Raffiniert dabei: Man erstellt sich im Template Ordner unter /images einen weiteren Ordner den man "authors" nennt. Danach lädt man dort die Userbilder benannt nach dem Nachnamen des Users hoch, in meinem Fall würde das Bild "schwarz.jpg" heissen. Mit ein bisschen CSS lässt sich dann das Ergebnis getrost anschauen:

Claudio Schwarz

Claudio Schwarz

9 Kommentare zu “Memberseiten in WordPress”

  1. mo. am 15. Februar 2009 um 17:44 | Permalink

    wo gibt es denn das fertige resultat zu sehen?

  2. Ahmet Topal am 15. Februar 2009 um 20:51 | Permalink

    Ja, das würde mich auch interessieren… Ich habe etwas anders meine user seite von meinem neuen Dienst umgeändert :) Aber ähnlich

  3. Claudio Schwarz am 16. Februar 2009 um 08:20 | Permalink

    Hier. Allerdings muss ich noch beifügen, dass mit dem Befehl wp_list_authors nur Autoren gelistet werden, welche mindestens ein Beitrag verfasst haben. Für die angegebene Testseite habe ich im Backend noch einige Änderungen vorgenommen, sodass auch Alter steht (anstatt AIM). Die PHP Befehle mit AIM (echo $curauth->aim;, Yahoo usw. kann man ja belassen.

    Im Übrigen ist die angegebene Seite nur eine Testseite. Das Theme habe ich selbst erstellt (auf der Basis des Default Themes).

  4. auerk_oley am 2. April 2009 um 09:08 | Permalink

    kann man aber ändern, dass auch benutzer anzeigt werden, wenn sie noch keinen artikel verfasst haben.

    http://codex.wordpress.org/Template_Tags/wp_list_authors

  5. auerk_oley am 2. April 2009 um 09:10 | Permalink

    interessant wäre es, wenn der nutzer ein bild selbst in dieses zuvor angelegte verzeichnis anlegen kann! klappt das?

  6. Pascal Birchler am 2. April 2009 um 14:30 | Permalink

    Mann kann den Bilderpfad auch ganz einfach auf das WordPress Upload-Verzeichnis ändern, dann kann man das Bild einfach hochladen! Oder noch einfacher: Das Gravatar anzeigen.

  7. Robert Hartl am 22. September 2009 um 23:48 | Permalink

    Das kann man noch weiter nutzen, wenngleich manche Vorlage unübersichtlich wird und einige Datenbankabfragen hinzukommen. Beispiel http://www.wirtschaftsbrief.info/autoren/ (alles in WordPress)

  8. mo. am 23. September 2009 um 00:00 | Permalink

    ich habe auch bei unserem redesign die autorenseiten ordentlich gepimpt. dieser beitrag war ein ganz guter anstoß. wie robert hartl finde ich natürlich unsere eigenen autorenseiten auch ganz schick.

    ich habe noch den twitter-account jedes benutzers beigefügt und dafür das AIM-Feld im profil missbraucht.

    http://phlow-magazine.com/author/bettina

  9. Webdesign Bamberg am 25. April 2010 um 11:12 | Permalink

    Man, super, danach habe ich schon lange gesucht. Manchmal habt ihr Schweizer halt doch was drauf :-)

Hinterlasse eine Antwort

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

*

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>