Wordpress
Od kilku lat korzystam z Wordpressa, chcę się z Wami teraz podzielić swoją wiedzą…
Październik
2011
Czy zastanawialiście się kiedyś, co trzeba zrobić aby Wasz WordPress, a dokładniej blog sygnalizował nowości? Na przykład w postaci obrazka „new” przy wpisie przez kilka dni od jego dodania? Odpowiedzi na to pytanie szukałem w specjalistycznych serwisach, forach i nic nie znalazłem. Szukałem więc w skryptach php, podłożyłem co trzeba w odpowiednim miejscu i – zadziałało.
W ramach <head> </head> dodajemy kod:
<script type="text/javascript">
// <![CDATA[
function nowosc(dzien, miesiac, rok, godzina, minuta, napis, obrazek)
{
var obrazek_domyslny = 'new.png'; // lokalizacja obrazka
var napis_domyslny = 'new'; // tekst alternatywny
if (typeof obrazek == 'undefined') obrazek = obrazek_domyslny;
if (typeof napis == 'undefined') napis = napis_domyslny;
if (typeof godzina == 'undefined') godzina = 0;
if (typeof minuta == 'undefined') minuta = 0;
if (new Date(rok, miesiac-1,dzien+7, godzina, minuta) > new Date()) document.write(obrazek ? '<img src="' + obrazek + '" alt="' + napis + '"' + (napis != '' ? ' title="' + napis + '"' : '') + ' />': napis);
}
// ]]>
</script>
W tej części musimy pamiętać o podaniu lokalizacji obrazka w miejscu new.png. Równie ważnym elementem jest ile dni dany post ma być wyświetlany jako nowy. W miejscu dzien+7 należy zmienić liczbę, która określa ilość dni.
W treści wpisu w plikach index.php, archive.php, single.php lub search.php w pętli między <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> a <?php endwhile; else: ?> wstawiamy poniższy kod:
<script>
// <![CDATA[
nowosc( <?php the_time('d,n,Y') ?>);
// ]]>
</script>
W powyższym kodzie znajduje się funkcja daty, która wyświetlana jest w postaci dzień, miesiąc, rok. Data ta jest datą dodania wpisu, do której dodawane są owe dzien+7 7 dni, po których obrazek wskazujący nowości wygaśnie.
Sierpień
2011
Pewnie wielu z Was posiada własnego bloga lub stronę, stworzoną na „silniku” WordPress. Pewnie wielu z Was zastanawia się co zrobić, aby każdy dodany przez Was wpis, mógł zostać dodany przez innych użytkowników Waszej strony, do portalu społecznościowego jednym kliknięciem. Jest na to proste rozwiązanie, dzięki któremu nie musicie nawet dodawać kodów do szablonu.
Wystarczy pobrać dwie wtyczki. Na początek musicie pobrać wtyczkę „sociable” z oficjalnej strony http://wordpress.org/extend/plugins/sociable.
Następnie pobierzcie drugą wtyczkę, która daje możliwość dodawania wpisów do portali polskojęzycznych „sociable polska”. Najnowsza wersja do pobrania ze strony WordPressa http://wordpress.org/extend/plugins/sociable-polska.
Uruchomcie obie wtyczki i wejdźcie w panelu administracyjnym WordPressa w zakładkę „ustawienia”, a następnie „sociable”. Tam spośród dziesiątek portali wybierzcie te, które Was interesują np., Facebook, Śledzik, Blip, Twitter, czy Wykop lub Gwar. Zwróćcie uwagę, że kolejność portali możecie ustawić przeciągając ich ikony kursorem na początek listy.
Pamiętajcie, że wtyczka działa automatycznie, a ikony do w/w portali pojawią się zaraz pod wpisem bez dodawania kodów. Najlepszym przykładem działania wtyczki są ikony widoczne poniżej.
Maj
2011
WordPress to potężna „maszynka” do tworzenia stron internetowych. Można z nią zrobić niemal wszystko przy odrobinie wiedzy i pomocy wtyczek. Gdy kilka lat temu szukałem wtyczki, która automatycznie wybrane przeze mnie słowa zamieni w link, nikt nie mógł mi pomóc. Przeglądając fora internetowe zauważyłem, że do dziś jest dużo zapytań o wtyczkę, ale uzyskanie odpowiedzi na to pytanie jest trudne. Dlatego właśnie postanowiłem podrzucić Wam wtyczkę i pomysł na rozwiązanie problemu.
Wystarczy pobrać wtyczkę „Blogroll Autolinker”, którą znajdziecie pod tym linkiem http://wordpress.org/extend/plugins/blogroll-autolinker
Po pobraniu i wgraniu jej do folderu z pluginami, należy ją uruchomić. Linki dodajecie w menu WordPressa, a dokładniej w panelu administracyjnym z zakładce „Odnośniki”, czyli w miejscu standardowym dla WordPressa. Jeśli wpiszesz nazwę linku „wordpress”, to wszystkie te słowa znajdujące się na Twojej stronie zostaną automatycznie podlinkowane. To by było na tyle.
Marzec
2011
Ostatnio chciałem stworzyć mały katalog firm, usług i ogłoszeń dla swojego miasteczka. Co prawda wykonałem go już w stu procentach, ale brakuje mi odwagi na jego publikację. Chciałem, aby serwis wyglądał jak typowa wyszukiwarka, na której nic poza nią i wynikami wyszukiwania nie będzie. Postanowiłem więc poszukać dobrej wtyczki, która da możliwość wyszukiwania wyników po tytułach, treści czy tagach. Chciałem również, aby użytkownik miał możliwość wybrania w jakiej kategorii chce przeszukiwać informacje.
Znalazłem kilkanaście wtyczek, które dawały nadzieję na rozwiązanie problemu. Często jednak wybieranie kategorii polegało na rozwinięciu listy, co wydawało mi się rozwiązaniem mało estetycznym i nie dawało możliwości wyboru wyszukiwania np. w dwóch czy trzech kategoriach. To właśnie wtedy wpadłem na stronę „thepiratebay.org”, na której znajduje się wyszukiwarka idealna na moje potrzeby. Choć to nieładnie z mojej strony, pogrzebałem w kodzie serwisu i znalazłem rozwiązanie, które przeniosłem do realiów WordPressa.
Dzięki tym rozwiązaniom wybieranie kategorii działa na zasadzie zaznaczenia okienka checkbox. Wybór znajduje się tuż pod polem wyszukiwania, więc nie dość, że wygląda to ładnie, to jeszcze działa wyśmienicie. Wyszukiwanie z automatu ustawione jest na wszystkie kategorie, ale możemy wybrać jedną, dwie itd.
Poniżej możecie zobaczyć zrzut ekranu wyszukiwarki z mojego katalogu
Wszystko musimy jednak ustawić ręcznie, ale nie jest to wielce ciężki proces. Między head w pliku header.php musimy wstawić następujący kod:
<script type="text/javascript">
function setAll()
{
document.forms['q'].elements['1'].checked = false;
document.forms['q'].elements['2'].checked = false;
document.forms['q'].elements['3'].checked = false;
document.forms['q'].elements['4'].checked = false;
}
function rmAll() { document.forms['q'].elements['all'].checked = false; }
</script>
Na wyżej wymienionym przykładzie widać 4 możliwości wyszukiwania. Możesz dodać kolejną dodając linijkę:
document.forms['q'].elements['4'].checked = false;
Zmień zaznaczony na czerwono numer tak, aby nie powtarzał się. Oczywiście nie muszą to być liczby, możesz wstawić odpowiednie słowo itd.
Następnym krokiem jest zmiana zawartości pliku searchform.php w katalogu z szablonem.
<form name="q" method="get" id="searchform" action="<?php bloginfo('url'); ?>/">
<input type="text" size=61 value="<?php the_search_query(); ?>" name="s" id="s" /><br><br>
<label for="all" title="Wszystkie"><input id=all type="checkbox" id="all" onclick="javascript:setAll();" checked="checked" />Wszystkie</label>
<label for="1" title="blog"><input name="cat" value="28" id="1" onclick="javascript:rmAll();" type="checkbox" />Blog</label>
<label for="2" title="media"><input name="cat" value="31" id="2" onclick="javascript:rmAll();" type="checkbox"/>Media</label>
<label for="3" title="sport"><input name="cat" value="29" id="3" onclick="javascript:rmAll();" type="checkbox"/>Sport</label>
<label for="4" title="komputery"><input name="cat" value="30" id="4" onclick="javascript:rmAll();" type="checkbox"/>Komputery</label>
<input type="submit" id="searchsubmit" value="<?php _e('Przeszukaj Katalog'); ?>" />
<script type="text/javascript">document.q.q.focus();</script>
</form>
Na poniższym przykładzie zwróćcie uwagę na pewne zależności między kodem w searchform.php, a kodem javascript w header.php
<label for="1" title="blog"><input name="cat" value="28" id="1" onclick="javascript:rmAll();" type="checkbox" />Blog</label>
for=”1″ oraz id=”1″ muszą pokrywać się z numerem w kodzie javascript
document.forms['q'].elements['1'].checked = false;
Zwróć również uwagę na pole value=”numer”, w którym znajduje się numer odpowiadający numerowi id kategorii. Podanie tego numeru jest warunkiem wyszukiwania w danej kategorii.
Na koniec tylko dodam, że mając już taką wyszukiwarkę warto pobrać jeszcze wtyczkę, która da możliwość wyszukiwania również po tagach, komentarzach itd. Wystarczy ją pobrać, wgrać do folderu z wtyczkami i uruchomić. Search Everything
I to by było na tyle. W razie jakichkolwiek pytań piszcie w komentarzach.
Maj
2010
Ostatnio poszukiwałem jakiejś dobrej wtyczki, która pozwoli na swobodne importowanie wiadomości rss. Pobierałem dziesiątki wtyczek z oficjalnej strony wordpressa, ale większość albo się nie dała uruchomić, albo jej konfiguracja doprowadzała mnie do białej gorączki. Po kilku dniach poszukiwań przypadkowo natrafiłem na plugin „RSS Import”. Nie dość, że jej konfiguracja jest prosta i rozbudowana, to mamy możliwość dodania niezliczonej ilości kanałów rss na własną stronę.
Wtyczkę możecie pobrać klikając na stronę wordpress.org. Po pobraniu wystarczy wgrać ją do folderu /wp-content/plugins/ i uruchomić w panelu administratora.
Jeśli chcesz dodać kanał rss w pliku single.php, sidebar.php lub innym, wystarczy dodać w nim kod:
<?php RSSImport(10,"http://kurdu.pl/feed/"); ?>
- liczba 10 – oznacza ilość wyświetlanych postów
- http://kurdu.pl/feed/ – adres rss
Jeśli chcesz wyświetlać wiadomości rss we wpisie wystarczy dodać:
[RSSImport display="5" feedurl="http://kurdu.pl/feed/"]
- liczba 5 – oznacza ilość wyświetlanych postów
- http://kurdu.pl/feed/ – adres rss
Wszelkie możliwości konfiguracji znajdziecie na oficjalnej stronie wtyczki:
http://bueltge.de/wp-rss-import-plugin/55/