Für Menschen · Seien Sie begeistert und Sie werden begeistern !
Die Ausgabe aller Benutzer in WordPress ist im Standard nicht vorgesehen. Damit man eine einfache Liste alle User aus der Datenbank bekommt, kann mittels folgender Funktion die User aufgrund ihrer Userlevel ausleiten.
Für die Ausgabe von einzelnen Benutzergruppen oder User stehen eine Reihe von Template-Tags zur Verfügung, siehe WordPress-Codex - Author Tags.
Es ist eine einfache, nicht optimierte Datenbankabfrage. Sie soll lediglich als Basis dienen und kann bzw. muss ausgebaut werden. Auspassen, „Registrierte Leser” werden nicht via user_level in der Datenbank gespeichert. Dies macht es erforderlich, dass eine eigene Datenbankabfrage hinterlegt wurde.
Es besteht die Möglichkeit der Funktion zwei Parameter mitzugeben. Für die Ausgabe nur einer Benutzergruppe steht Parameter $userlevel zur Verfügung. Sollen Vor- und Zuname ausgegeben werden, dann muss Parameter $show_fullname auf TRUE gesetzt werden, ansonsten wird der Benutzername ausgegeben.
Um die Funktion zu nutzen, ist es am einfachsten, man legt sie in der functions.php im verwendeten Theme ab bzw. erzeugt die Datei. Die Funktion könnte dann folgendermaßen mittels PHP-Plugin (z.B. Exec-PHP) oder im Template aufgerufen werden.
<?php fb_list_authors(10, FALSE); ?>
<?php fb_list_authors(); ?>
<?php fb_list_authors(1, TRUE); ?>
Die Funktion für die functions.php oder direkt im verwendeten Template.
function fb_list_authors($userlevel = 'all', $show_fullname = true) {
global $wpdb;
/*
all = Ausgabe aller User
1 = Registrierte Leser
2 = Mitarbeiter
3 = Autoren
7 = Herausgeber
10 = Administratoren
*/
if ( $userlevel == 'all' ) {
$author_subscriper = $wpdb->get_results("SELECT * from $wpdb->usermeta WHERE meta_key = 'wp_capabilities' AND meta_value = 'a:1:{s:10:\"subscriber\";b:1;}'");
foreach ( (array) $author_subscriper as $author ) {
$author = get_userdata( $author->user_id );
$userlevel = $author->wp2_user_level;
$name = $author->nickname;
if ( $show_fullname && ($author->first_name != '' && $author->last_name != '') ) {
$name = "$author->first_name $author->last_name";
}
$link = '
' . $name . '
';
echo $link;
}
$i = 0;
while ( $i <= 10 ) {
$userlevel = $i;
$authors = $wpdb->get_results("SELECT * from $wpdb->usermeta WHERE meta_key = 'wp_user_level' AND meta_value = '$userlevel'");
foreach ( (array) $authors as $author ) {
$author = get_userdata( $author->user_id );
$userlevel = $author->wp2_user_level;
$name = $author->nickname;
if ( $show_fullname && ($author->first_name != '' && $author->last_name != '') ) {
$name = "$author->first_name $author->last_name";
}
$link = '
' . $name . '
';
echo $link;
}
$i++;
}
} else {
if ($userlevel == 1) {
$authors = $wpdb->get_results("SELECT * from $wpdb->usermeta WHERE meta_key = 'wp_capabilities' AND meta_value = 'a:1:{s:10:\"subscriber\";b:1;}'");
} else {
$authors = $wpdb->get_results("SELECT * from $wpdb->usermeta WHERE meta_value = '$userlevel'");
}
foreach ( (array) $authors as $author ) {
$author = get_userdata( $author->user_id );
$userlevel = $author->wp2_user_level;
$name = $author->nickname;
if ( $show_fullname && ($author->first_name != '' && $author->last_name != '') ) {
$name = "$author->first_name $author->last_name";
}
$link = '
' . $userlevelname[$userlevel] . '
';
$link .= '
' . $name . '
';
echo $link;
}
}
}
händischer Spam:
Beachte die Kommentarregeln, jede Form von versuchtem Spam wird gelöscht. Warum und wieso steht in einem meiner Beiträge.
Bezug auf Textstellen:
Du kannst direkt bezug auf Textstellen im Beitrag nehmen. Dazu muss lediglich der Bereich im Artikel markiert werden; daraufhin erscheint ein Button, der den markierten Text in das Kommentarfeld übernimmt und als Zitat auszeichnet. Die Funktion ist nur bei aktivem JavaScript nutzbar.
xHTML:
Du kannst folgende Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <blockquote cite=""> <code> <pre> <em> <strong> <strike> <ul> <ul> <li>
Achte darauf, wenn du Code im Kommentar hinterlegen willst, dann muss der Code maskiert sein. Dann wird er nicht interpretiert. Der Code muss mit Hilfe von HTML-Entities dargestellt werden, d.h. dass man z.B. < als < und > als > einfügt.
E-Mail-Benachrichtigung bei neuen Kommentaren ?
Wenn der Haken in der Checkbox gesetzt ist, dann wirst du über neue Kommentare vie E-Mail informiert. Der Versand erfolgt nur, wenn du die URL in der Bestätigungs-E-Mail genutzt hast oder schon Abonnent hier im Blog bist.
Kommentar erscheint nicht:
Alle Kommentare werden manuell geprüft, freigegeben und nach Möglichkeit beantwortet. Bitte um etwas Geduld und Nachsicht.
Identifikationsbilder (Avatare):
Auf Gravatar.com kann man sich mit seiner E-Mail-Adresse registrieren und ein Bild hochladen, dann erscheint dieses Gravatar hier und in vielen weiteren Blogs.
Spamschutz:
Das Kommentarformular ist mit einem Spamschutz ausgerüstet. Solltest du diesen Artikel ohne JavaScript besuchen und kommentieren wollen, so muss du die Frage beantworten und das jeweilige Wort in das Textfeld eingeben.
bueltge.de [by:ltge.de] wird von Frank Bültge geführt, administriert und gestaltet. Alle Inhalte sind persönlich von mir ausgewählt und erstellt, nach bestem Gewissen und Können, was die Möglichkeit von Fehlern nicht ausschließt.
Das Weblog wird angetrieben von WordPress und aktuell gibt es 971 Beiträge, 19462 Kommentare in 14 Kategorien und 459 Tags.
Das Blog wird liebevoll mit xHTML & CSS in Handarbeit gestaltet. Erstellt mit ♥ zum Befüllen und Erhalten.
Design und Code ist unter Copyright
© 2001 - 2012 bueltge.de [by:ltge.de]
4. November 2007 um 11:22
Schön wäre es dann noch wenn jeder Nutzer eine Art "öffentliche Profilseite" erstellen könnte....
Grüße aus Münster
Gerald
5. November 2007 um 13:43
Jeder User kann doch in "mein Profil" Daten zu "Über Dich" hinterlegen. Auf diese kann man auch per Template Tag zugreifen, siehe Codex.
2. April 2008 um 13:52
Hallo,
Danke für die Tolle Anleitung, funktioniert ja schon mal klasse =)
Eine Frage hätte ich aber noch: Ich habe bei mir auf der Webseite auch den WP User Manager installiert, so dass sich die Nutzer bei der Registrierung verschiedenen Gruppen "zuordnen" können. Ich hab jetzt in WordPress für jede "Gruppe" eine Seite erstellt und würde eben gerne alle Nutzer die bei der Registrierung Gruppe1 ausgewählt haben, auf der Seite "Gruppe1" ausgeben, alle die Gruppe2 ausgewählt haben auf der Seite "Gruppe2" ausgeben und so weiter...
Lässt sich das noch irgendwie einbauen?
Anstonsten TOP Arbeit von dir =)
Danke und viele grüße,
Klaus
2. April 2008 um 14:00
Das kann ich nicht sagen, aber der Autor des Plugins sicherlich, denn er muss ja WP um das Feld 'gruppe' erweitert haben. Frage mal dort an oder untersuche das Plugin, es gibt sicher schon eine Möglichkeit die das Lesen aller User pro Gruppe ermöglicht, vielleicht im Backend.