Ich habe eben ein bisschen am Theme gespielt, und auf der single.php
eine Infobox mit Autoren-Informationen eingebaut. Gesehen habe ich das woanders schon, aber jetzt eine klasse Umsetzung gefunden.
Für die Umsetzung müssen 3 Dateien des verwendeten Themes bearbeitet werden:
single.php
: Klar, hier soll die Box ja erscheinenfunctions.php
: Hier werden die Filter für die Erfassung z.B. des Twitternamen definiert, damit man Selbigen im Profil angeben kannstyle.css
: Schließlich soll die Box auch optisch passen
Die Einbindung ist im Schweizer WordPress Magazin sehr gut erklärt:
Zunächst mal baut man die Box in die single.php
ein, hier im Beispiel meine Version:
Dieser Block kommt natürlich in den Loop, da hier de Artikel-Autor gemeint ist, sinnvollerweise direkt unter <?php the_content('<p class="serif">Lies den Rest ...»</p>'); ?>
(Der Inhalt der Klammer kann abweichen), also unter den Inhalt des Artikels.
Der Parameter $size = 100
beim Avatar gibt die Größe desselben an. Das Avatar wird über die Mail-Adresse des Autors bei Gravatar.com geholt.
Die ICQ-Nummer konnte man in früheren WP-Versionen mal in seinem Profil angeben, daher war diese Information bei mir noch in der Datenbank hinterlegt. Ich habe aber in der functions.php
einen Filter eingerichtet, um die Nummer bei Bedarf zu ändern, oder anderen Blogautoren die Möglichkeit zu geben, ihre ICQ-Nummer nachzutragen. Des Weiteren habe ich Filter für Twitter und Skype angelegt, so dass beide Namen im Benutzerprofil eingegeben und geändert werden können. Folgenden Code habe ich dafür in die functions.php
eingefügt:
function wpm_add_twitter_contactmethod( $contactmethods ) {
// Twitter hinzufügen
$contactmethods['twitter'] = 'Twitter';
return $contactmethods;
}
add_filter('user_contactmethods','wpm_add_twitter_contactmethod',10,1);
function wpm_add_skype_contactmethod( $contactmethods ) {
// Skype hinzufügen
$contactmethods['skype'] = 'Skype';
return $contactmethods;
}
add_filter('user_contactmethods','wpm_add_skype_contactmethod',10,1);
function wpm_add_icq_contactmethod( $contactmethods ) {
// ICQ hinzufügen
$contactmethods['icq'] = 'ICQ';
return $contactmethods;
}
add_filter('user_contactmethods','wpm_add_icq_contactmethod',10,1);
Die neuen Eingabefelder findet man im Benutzerprofil, in der Reihenfolge, wie sie hier angelegt sind, und unterhalb der vorhandenen Kontaktfelder.
Verwendbar sind alle Angaben, die ein User in seinem Profil angibt bzw. angeben kann. Die Daten finden sich im Array und Template-Tag the_author_meta()
wieder, siehe hierzu auch die offizielle Dokumentation von WordPress.
Jetzt soll das Ganze natürlich auch noch an das Theme angepasst werden. Dafür gibt es vie CSS natürlich unzählige Möglichkeiten. In der style.css
findet sich für die Box bei mir folgender Code:
#post-author {
display: block;
background: #ececec;
border: 1px solid #ccc;
padding: 5px;
margin-top: 25px;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
}
#post-author img.avatar {
float: left;
margin: 0 10px 5px 0;
padding: 3px;
border: 1px solid #333;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
}
#post-author ul li {
display: inline;
margin-right: 20px;
}
Das Endergebnis gibt es hier unterhalb des Artikels zu sehen. Viel Spaß beim Nachmachen
Und bei einem Blog mit mehreren Autoren lohnt sich diese Geschichte natürlich mehr, als in einem Singleuser-Blog wie diesem hier
Ergänzung: Eben habe ich festgestellt, dass das Theme „TwentyTen“, welches seit WP 3.0 Standard ist, eine solche Infobox bereits enthält. Die wird jedoch nur dann angezeigt, wenn der Artikelautor das Beschreibungsfeld (Description) in seinem Profil ausgefüllt hat.
Hallo Markus
Danke für die Erwähnung! Hast das ja gleich super umgesetzt
Ein kleiner Tipp noch: Du kannst mehrere Kontaktmethoden auf einmal hinzufügen.
Grüsse
Pascal
Danke für den Tipp Pascal, weniger ist eben mehr. Besonders beim Code
hallo, danke, genau das hat mein kollege gesucht für ein linktausch blog mit kontakt zum schreiber, echt stark mit icq, super
gruss mausi