WordPress: jak wylosować wpis?

Jeden z Czytelników zadał niedawno pytanie: jak wylosować wpis na blogu WordPress?

Metod jest wiele, jedne lepsze, inne gorsze. Moja (od niedawna) ulubiona to własna funkcja przekierowująca na losowy wpis z adresu /random

Zaleta: proste (5 linii kodu PHP), szybkie rozwiązanie.

Wady:

  1. Trzeba edytować pliki aktualnego motywu blogu, a więc aktualizacja motywu „zniszczy” naszą modyfikację. Można to obejść tworząc motyw potomny, ale na to już jestem za cienki w uszach.
  2. Wymaga zewnętrznej wtyczki do przekierowania z /random na /?random=1 (aczkolwiek patrz komentarze na końcu wpisu)
  3. Nie działa (chyba) na blogach w domenie wordpress.com (innymi słowy wymaga własnej domeny / hostingu)

Szczegóły:

  1. Logujemy się do panelu administracyjnego naszego blogu
  2. Z menu po lewej wybieramy Wygląd => Edytor
  3. Na liście plików do edycji (po prawej stronie ekranu) klikamy: Funkcje motywu (functions.php)
  4. W edytorze pojawi się kod php z pliku functions.php. Przewijamy na sam koniec i dopisujemy następujący kod:
function losuj_wpis() {
       if (get_query_var('random') == 1) {
               wp_redirect(get_permalink(get_posts('post_type=post&orderby=rand&numberposts=1')[0]),307);
               exit();
       }
}
add_action('template_redirect','losuj_wpis');
  1. Zapisujemy zmiany.
  2. Instalujemy wtyczkę Przekierowanie (tu link do strony domowej wtyczki: !klik!)
  3. W opcjach wtyczki Przekierowanie definiujemy przekierowanie z /random na /?random=1

I to w zasadzie tyle. Przypuszczam, że punkty 6-7 dałoby się ominąć za pomocą odpowiedniego wpisu w .htaccess, ale ponieważ używałem wtyczki Przekierowanie już wcześniej, poszedłem na skróty. Jeżeli ktoś ma gotową, sprawdzoną recepturę, niech da znać…

Od tej pory możemy losować wpis na naszym blogu używając adresu https://adres-bloga/random

 

Piszę w dotnecie

już trzecie stulecie

Bo kto się w pehapie połapie?


4
Dodaj komentarz

avatar
1 Comment threads
3 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
2 Comment authors
xpilFabian Recent comment authors
  Subscribe  
najnowszy najstarszy oceniany
Powiadom o
Fabian
Gość
Fabian

Dziękuję za odpowiedź na temat losowania. Bardzo fajne i na pewno umieszczę to na swoim blogu

%d bloggers like this: