Podczas pracy nad stroną klienta zdaliśmy sobie sprawę, że wbudowana funkcja listowania autorów nie wystarczy. Pokazaliśmy ci, jak wyświetlić wszystkich autorów z twojej witryny, ale ta metoda była dobra tylko wtedy, gdy chcesz wyświetlić prostą listę na pasku bocznym. Jeśli chcesz stworzyć bardziej bogatą w treść i użyteczną stronę dla współpracowników, ta funkcja jest bezużyteczna.
W tym artykule pokażemy Ci, jak możesz stworzyć stronę contributors, która wyświetli listę autorów z awatarami lub userphoto i innymi informacjami, które Ci się podobają. Ten poradnik jest poziom średniozaawansowany tutorial.
Pierwszą rzeczą, którą musisz zrobić, to stworzyć niestandardową stronę za pomocą tego szablonu.
Następnie musisz otworzyć funkcje.php plik w folderze themes i dodaj następujący kod:
function contributors () {
global $wpdb;
$authors = $wpdb->get_results ("SELECT ID, user_nicename from $wpdb - >users ORDER BY display_name");
foreach ($authors as $author) {
echo "<li>";
echo "<a href=""get_bloginfo('url')."/?autor=";
echo $author - > ID;
echo "">";
echo get_avatar ($author - > ID);
echo " < /a>";
echo ' < div>';
echo "<a href=""get_bloginfo('url')."/?autor=";
echo $author - > ID;
echo "">";
the_author_meta ('display_name', $author - > ID);
echo " < /a>";
echo "</div>";
echo "</li>";
}
}
Dodając tę funkcję, każesz WordPressowi utworzyć funkcję, która wyświetli nazwisko autora i awatar autora. Możesz zmienić ustawienie avatara na wtyczkę userphoto, zmieniając po prostu następującą linię:
echo get_avatar ($author - > ID);
i zastąpienie go:
echo userphoto ($author - > ID);
Możesz dodać więcej funkcji do tej funkcji, takich jak wyświetlanie adresu URL autora i innych informacji z profilu, postępując zgodnie z używaną strukturą.
Musisz również dodać następujące linie do pliku CSS:
# authlist li {
clear: left;
float: left;
margin: 0 0 5px 0;
}
# autorlista img.photo {
width: 40px;
wysokość: 40px;
float: left;
}
# autorlist div.authname {
margin: 20px 0 0 10px;
float: left;
}
Po zakończeniu dodawania funkcji, teraz musisz wywołać ją w szablonie strony. Otwórz współpracowników.plik php lub jak go nazwiesz. Postępuj zgodnie z tym samym szablonem strony, co Twoja strona.php i w pętli wystarczy dodać tę funkcję zamiast wyświetlać zawartość:
<div id = "authorlist" ><ul><?PHP contributors ();?>< / ul > < / div>
To zapewni Ci bardziej bogatą w treść stronę contributors. Ta sztuczka jest doskonała dla blogów wielu autorów.
Oto przykład tego, jak go wykorzystaliśmy:

Jeśli chcesz mieć stronę contributors z informacjami wyświetlanymi w powyższym przykładzie, musisz wprowadzić kilka zmian do oryginalnej funkcji. Mamy przykładowy kod, który dostarczy Ci dokładnie wszystko, co jest wyświetlane na powyższym obrazku.
function contributors () {
global $wpdb;
$authors = $wpdb->get_results ("SELECT ID, user_nicename from $wpdb - > users WHERE display_name < > 'admin' ORDER BY display_name");
foreach ($authors as $author) {
echo "<li>";
echo "<a href=""get_bloginfo('url')."/autor/";
the_author_meta ('user_nicename', $author - > ID);
echo "/">";
echo get_avatar ($author - > ID);
echo " < /a>";
echo ' < div>';
echo "<a href=""get_bloginfo('url')."/autor/";
the_author_meta ('user_nicename', $author - > ID);
echo "/">";
the_author_meta ('display_name', $author - > ID);
echo " < /a>";
echo "<br />";
echo "strona www: <a href="";
the_author_meta ('user_url', $author - > ID);
echo "/" target='_blank'>";
the_author_meta ('user_url', $author - > ID);
echo " < /a>";
echo "<br />";
echo " < a href="http://twitter.com/";
the_author_meta ('twitter', $author - > ID);
echo "" target='_blank'>";
the_author_meta ('twitter', $author - > ID);
echo " < /a>";
echo "<br />";
echo "<a href=""get_bloginfo('url')."/autor/";
the_author_meta ('user_nicename', $author - > ID);
echo " / " > odwiedź";
the_author_meta ('display_name', $author - > ID);
echo "'s Profile Page";
echo " < /a>";
echo "</div>";
echo "</li>";
}
}
Ten kod wykorzystuje wtyczkę Zdjęcia użytkownika. Pole twitter jest wyświetlane za pomocą sztuczki, o której wspomnieliśmy w artykule Jak wyświetlić autora Twittera i Facebooka na stronie profilu.
CSS na przykład wyglądałby tak:
# autorlista ul{
styl listy: brak;
width: 600px;
margin: 0;
padding: 0;
}
# authlist li {
margin: 0 0 5px 0;
styl listy: brak;
wysokość: 90px;
padding: 15px 0 15px 0;
border-bottom: 1px solid #ececec;
}
# autorlista img.photo {
width: 80px;
wysokość: 80px;
float: left;
margin: 0 15px 0 0;
padding: 3px;
border: 1px solid #ececec;
}
# autorlist div.authname {
margin: 20px 0 0 10px;
}
Możesz wyświetlić więcej informacji, jeśli chcesz, używając Zaawansowanego kodu jako przewodnika.
Źródło tej funkcji