Nie ma to jak zostać zapytanym o to, jak się stworzyło pewną funkcjonalność na stronie z prośbą o wyjaśnienie, człowiek czuje się dumny :). Pytanie brzmiało mniej więcej tak: "Podoba mi się ta strona wyświetlająca członków zespołu. Jak można coś takiego zrobić w WordPressie?"
Najpierw – wtyczka
Potrzebujemy wpierw odpowiedniej wtyczki, która pozwoli nam na wgranie i przypisanie zdjęć do autorów. Nie będziemy tutaj pisać nic własnego, wykorzystamy za to rozwiązanie już gotowe. Wtyczka nazywa się User Photo i jest bajecznie prosta w użyciu. Instalujemy i wgrywamy zdjęcie autora poprzez panel jego profilu, a następnie na chwilę o wtyczce zapominamy, musimy bowiem napisać kod strony.
Szablon strony
Najpierw otwieramy plik page.php
. Na samej górze, jeszcze przez funkcją get_header();
wklejamy coś takiego:
<?php
/*
Template Name: Nasi autorzy
*/
?>
Plik zapisujemy pod nazwą nasi-autorzy.php
. Tym oto sposobem stworzyliśmy szablon strony, który podepniemy wkrótce pod stronę stworzoną przez panel WordPressa. Czas zająć się właściwym kodem do wyświetlenia autorów.
Wyświetlamy autorów
Zaraz poniżej funkcji the_content(); wyświetlającej zawartość naszej strony, którą to wpisujemy w czasie edycji strony z poziomu panelu administracyjnego WP, wklejamy pierwsze linie kodu:
<ul id='the_team'>
<?php
$wp_znajdz_uzytkownikow = $wpdb->get_results("SELECT * FROM $wpdb->users ORDER BY ID");
Tak oto otworzyliśmy składnię PHP (poprzez tag <?php
), oraz stworzyliśmy zapytanie do bazy danych $wp_znajdz_uzytkownikow
– wyszuka nam ono w bazie wszystkich użytkowników z odpowiedniej tabeli w bazie danych i uszereguje ich według identyfikatora liczbowego. Zwróćcie proszę uwagę na początkowy fragment <ul id='the_team'>
– posłuży on później do dodania stylów CSS.
Jedziemy dalej, czas dla każdego użytkownika coś wyświetlić, musimy więc stworzyć pętlę.
foreach ( $wp_znajdz_uzytkownikow as $uzytkownikid ) {
$user_id = (int) $uzytkownikid->ID;
$user_login = stripslashes($uzytkownikid->user_login);
$display_name = stripslashes($uzytkownikid->display_name);
$file = get_option('home') . '/';
$link = $file . '?author=' . $user_id;
Pętla foreach
otworzona. W pętli przypisujemy kolejne zmienne, po kolei od pierwszego wiersza.
- ID użytkownika.
- Jego login.
- Jego imię wyświetlane.
- Zmienna
$file
pobiera link naszej strony z ostatnim slashem. - Zmienna
$link
przypisuje do wcześniejszego linka parametr?author
oraz ID użytkownika, dzięki czemu stworzymy linka do strony tego autora.
Pozostaje nam wyświetlić dane i zamknąć kod.
?><li><?php echo '<a href="' . $link . '" title="' . $display_name . '">';?><?php echo userphoto($user_id, '', '', array(style => 'width:100px;height:100px;'), get_template_directory_uri() . '/default-avatar.gif'); ?><br /><span><?php echo $display_name; ?></span></a></li>
<?php
}
?>
</ul>
Teraz wyjaśniamy. Funkcja userphoto();
to zmienna z naszej wcześniejszej wtyczki, wyświetla ona zdjęcie użytkownika w formacie 100×100 pixeli. Jeśli zdjęcia nie ma, ta sama funkcja za pomocą get_template_directory_uri() . '/default-avatar.gif'
pobierze standardowe zdjęcie z folderu naszego szablonu. Dalej, <?php echo $display_name; ?>
wyświetli nam nazwę użytkownika poniżej zdjęcia :). Na końcu jeszcze za pomocą nawiasu }
zamykamy pętlę foreach
i cały kod jest gotowy!
Stylujemy
Teraz tylko dodać style CSS:
#the_team {
margin:0px;
padding:0px;
list-style:none;
}
#the_team li {
display:block;
float:left !important;
padding:4px;
text-align:center;
}
#the_team li:hover {
background:#eee;
}
#the_team li a {
color:#444;
font-family:"Georgia",Times,serif;
font-style:italic;
}
#the_team li a:hover {
text-decoration:none;
}
Oczywiście dodajemy ten kod do naszego pliku style.css
– i całość pięknie wygląda :). Teraz już tylko tworzymy w WordPressie nową stronę i przypisujemy jej odpowiedni szablon, a następnie cieszymy się pięknym wykazem naszych autorów.
Komentarze
Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43
Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43
Link do strony z autorami Anomalium nie działa.
odpowiedzWarning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43
Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43
Jak i sama strona, ale z tego co widzę to 'strona w budowie’.
odpowiedzWarning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43
Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43
Gdybym tylko wczoraj mój RSS pokazał ten artykuł :(
zaoszczędził bym kilka godzin problemów :)
ok, a to zapytanie generujące listę autorów posortowanych ze względu na ilość artykułów.
$wp_znajdz_uzytkownikow = $wpdb->get_results(„SELECT post_author as ID, COUNT(*)as art FROM $wpdb->posts WHERE post_status = 'publish’ GROUP BY post_author ORDER BY art DESC”);
w zmiennej $wp_znajdz_uzytkownikow->art jest oczywiście ilość artykułów
może komuś się przyda, ta drobna modyfikacja
odpowiedzWarning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 60
Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 60
W którym miejscu wstawić ten kod ? Zależy mi na tym żeby wyświetlało tylko tych userów którzy coś napisali na stronie. Pozdrawiam.
odpowiedzWarning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43
Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43
Strona nie działa, bo Cal.pl to amatorzy, a nie firma hostingowa ;). W każdym razie – tam były takie kwadratowe zdjątka z odsyłaczami do stron autorów :P
odpowiedzWarning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43
Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43
Trzeba było dać screena tej galerii – przezorny zawsze ubezpieczony :)
odpowiedzWarning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43
Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43
Panowie mam problem:
Miałem kod:
ID, 'showcase_image', $single = true);
$showcase_color = get_post_meta($post->ID, 'showcase_color', $single = true);
if (!empty($showcase_image)) {
?>
<li style="background:#"><a href=""><img src="" alt="" />
Zamieniłem na:
have_posts()) : while ($my_query->have_posts()) : $my_query->the_post();
$showcase_image = get_post_meta($post->ID, 'showcase_image', $single = true);
$showcase_color = get_post_meta($post->ID, 'showcase_color', $single = true);
if (!empty($showcase_image)) {
?>
<li style="background:#"><a href=""><img src="" alt="" />
<?php endif; ?
Ale mimo to nie wyświetla mi obrazów ze stron. W czym może być problem? Czekam na forum wpninju co by nie spamować w komentarzach:)
odpowiedzWarning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43
Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43
kurde ucięło mi kod daje całość tu:
http://pokazywarka.pl/7ta0mi/
Stawiam piwo temu kto pomoże:)
odpowiedzWarning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43
Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43
Najpierw otwieramy plik page.php. Na samej górze, jeszcze przez funkcją get_header(); wklejamy coś takiego:
Plik zapisujemy pod nazwą nasi-autorzy.php. Tym oto sposobem stworzyliśmy szablon strony, który podepniemy wkrótce pod stronę stworzoną przez panel WordPressa. Czas zająć się właściwym kodem do wyświetlenia autorów.
Mam utworzyć osobną stronkę, plik nasi-autorzy.php
odpowiedz?
Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43
Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43
Eee, tak :). Wiesz czym są szablony stron dla WordPress? Zresztą nawet jeśli nie, to przecież ten artykuł doskonale opisuje co masz zrobić ;).
odpowiedzWarning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43
Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43
No właśnie nie wiem. Byłbym wdzięczny gdybyś mi to dokładnie opisał lub podał GG to napisze do Ciebie.
odpowiedzWarning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43
Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43
Matura… czytanie ze zrozumieniem… Bracie, w artykule pisze słowo po słowie co masz zrobić – zrób co pisze, to się zrobi.
odpowiedzWarning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43
Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43
Plik zapisujemy pod nazwą nasi-autorzy.php ale wlasnie nie wiem jaki plik…
odpowiedzWarning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43
Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43
I dlatego na maturze jest czytanie ze zrozumieniem… Otwierasz page.php, wklejasz kod, zapisujesz pod inną nazwą, dotarło? Bo jak nie to zalecam kilkadziesiąt razy przeczytać ten fragment, może dotrze, ja cierpliwości już nie mam.
odpowiedzWarning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43
Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43
<div class="post hentry" id="post-„>
<?php the_content('Read the rest of this page »’); ?>
get_results(„SELECT * FROM $wpdb->users ORDER BY ID”);
’Pages: ’, 'after’ => ”, 'next_or_number’ => 'number’)); ?>
<?php edit_post_link('Edit this entry.', '’, ”); ?>
co tu jest zle?
gdzie dodac pozostalą część kodu poza css ?
odpowiedzWarning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43
Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43
nie działa u mnie tego nie ma w page.php
odpowiedzfunkcji the_content();
Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43
Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43
Kod wyświetla wszystkich użytkowników a nie autorów:-)
Jak zatem wyświetlić wszystkich userów którzy napisali jakiś post? Przychodzi mi do głowy pomysł aby z tabeli wyciągnąć inne/inaczej informacje ale to przerasta już moje możliwości.
A może jest jakiś prostszy sposób?
odpowiedzWarning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43
Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43
w którym konkretnie miejscu w pętli mam wpisać użytkownika id i tak dalej?
odpowiedzi skąd mam wziąć ID użytkowników?
Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43
Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43
Dopatrzyłem się małego błędu : tam gdzie piszesz w pierwszych linijkach tego postu o tym, jak to dostałeś tą wiadomość jest „Podobna mi się(…)”, powinno być „Podoba mi się(…)”. :)
Poza tym bardzo ciekawe i sam bym może nawet spytał o coś takiego :]
odpowiedzWarning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43
Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43
Poprawiłem, dzięki za informację.
odpowiedzWarning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43
Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43
@Szymon: Jak wyświetlić autorów którzy mają napisane więcej niż 3 posty ?
odpowiedzWarning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 60
Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 60
To powinno być ok:
odpowiedzhttp://wordpress.stackexchange.com/a/31724
Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 60
Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 60
Nie jestem programistą :) Jak przystosować to pod kod w poście ???
odpowiedzWarning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43
Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43
Parse error: syntax error, unexpected '<' in /var/www/virtual//wp-content/themes/LeetPress v1.2.1/leetpress/kat.php on line 26 czemu tak się dzieje???
odpowiedzWarning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43
Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43
Dobra już pomogło. Ale czemu widać to powójnie? link:http://kamokeg.cba.pl/?author=1
odpowiedzWarning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43
Warning: Undefined variable $user_ID in /home/klient.dhosting.pl/wpn/wpninja.pl/public_html/wp-content/themes/wpninja/comments.php on line 43
A czemu nie użyć po prostu
get_users(’meta_key=authortype&meta_value=’ . $type . '&orderby=post_count&order=desc&fields=all_with_meta’);
Akurat sobie wyróżniłem różne typy użytkowników – ekspert, redakcja .. sortowanie wg ilości wpisów :)
odpowiedzDodaj własny komentarz