Jak opóźnić publikowanie postów w kanale RSS Wordpress
Jeżeli prowadzisz swoją stronę lub blog, wykorzystując platformę Wordpress, z pewnością zdajesz sobie doskonale sprawę z tego, że wpisy można opóźniać i ustawiać godzinę publikacji. Coś podobnego można robić z kanałem RSS. Zobaczcie, jak osiągnąć efekt planowanych publikacji w kanale RSS.
Czym jest kanał RSS nie trzeba z pewnością nikomu wyjaśniać. Ale zróbmy to dla prawidłowego porządku - taka wiedza przydaje się, jeżeli prowadzimy stronę czy bloga na Wordpressie. Otóż, dzięki RSS możemy docierać do dodatkowej grupy odbiorców, często bardziej zaawansowanych, którzy obserwują liczne strony i blogi w internecie.
Informacja, jaką im wysyłamy na RSS może być całym tekstem do przeczytania z poziomu czytnika RSS, bądź też ledwie zajawką. Ta ostatnia sytuacja jest znacznie częstsza i też prawdę mówiąc lepsza z punktu widzenia osoby prowadzącej blog czy witrynę WWW. Pozwala bowiem na przyciągnięcie odbiorcy do rzeczywistego tekstu na naszej stronie, a nie przekazanie go w całości czytnikowi RSS. Wymaga jednak pewnej umiejętności tworzenia "zajawek", czyli krótkich, ciekawych tekstów, które przyciągną internautę. Jakiś czas temu pokazywaliśmy, jak włączyć lub dezaktywować tę funkcję na Wordpressie.
Nad publikacjami RSS też warto pracować, zwłaszcza jeżeli zależy nam na sensownym kontakcie z odbiorcą. Dlatego też w tym tekście pokażemy, jak opóźnić publikację naszego wpisu w kanale RSS. Czyli - tekst jest już opublikowany na naszej stronie, ale jeszcze nie jest widoczny w kanale RSS. Pojawi się tam dopiero za chwilę. Takie rozwiązanie przyda się, jeżeli np. chcemy uniknąć konsekwencji zbyt szybkiego opublikowania jakiegoś tekstu czy nawet dać sobie czas na dodatkowe przejrzenie opublikowanych materiałów.
Przejdźmy jednak do samego poradnika, w którym pokazujemy sposób na ręczne ustawienie opóźnienia podczas publikacji materiałów z naszej strony w naszym kanale RSS. Będziemy do tego potrzebowali oczywiście dostępu do naszej strony (tzn. panelu zarządzania Wordpressem), a także kawałka kodu PHP, który należy wkleić w odpowiednim miejscu.
Jak opóźnić publikację wpisów w kanale RSS
Jak już wspomnieliśmy, metoda wymaga niewielkiej ilości kodu, który należy umieścić w odpowiednim miejscu. Nie potrzeba do tego żadnych specjalnych umiejętności.
Na początek logujemy się więc do naszego Kokpitu, czyli strony zarządzania Wordpressem. Następnie, z poziomu lewego paska menu klikamy zakładkę Wygląd > Edytor. Po otwarciu edytora stylów naszego motywu, możemy przejść do wklejania kodu.
Następnie, w prawej części okna przechodzimy do zakładki functions.php. Po otwarciu pliku odpowiedzialnego za edycję kodu funkcji zachowania naszego motywu, wklejamy i zapisujemy następujący kod:
function publish_later_on_feed($where) { global $wpdb; if ( is_feed() ) { // timestamp in WP-format $now = gmdate('Y-m-d H:i:s'); // value for wait; + device $wait = '10'; // integer $device = 'MINUTE'; //MINUTE, HOUR, DAY, WEEK, MONTH, YEAR // add SQL-sytax to default $where $where .= " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$now') > $wait "; } return $where; } add_filter('posts_where', 'publish_later_on_feed');
Nie jest tego jakoś wyjątkowo dużo, wystarczy wrzucić dokładnie skopiowany kod w dowolnym, sensownym miejscu na stronie funkcji naszego motywu. Po zapisaniu strony, odświeżamy ją i metoda powinna być już dostępna.
Domyślnie ustawiony czas opóźnienia w powyższym kodzie to 10 minut. Możem to jednak w prosty sposób zmienić. Zarówno samą wartość liczbową, jak i jednostki. W pierwszym zadaniu wystarczy ustawić dowolną, interesującą nas cyfrę w polu $wait = '10'. Możemy tutaj zamiast 10 wpisać 100, 20, lub inną liczbę całkowitą.
Możemy też zmienić jednostkę czasu. Domyślnie w polu $device = 'MINUTE' ustawiona jest minuta. Zatem domyślnie opóźniono czas publikacji o 10 minut. Możemy jednak zmienić jednostkę czasową na:
MINUTE - minuta
HOUR - godzina
DAY - dzień
WEEK - tydzień
MONTH - miesiąc
YEAR - rok
Oczywiście, nikt nie będzie ustawiał roku opóźnienia dla swojego wpisu ;) Jednak trzeba wiedzieć, że mamy wpływ na to, z jakim opóźnieniem publikowane będą nasze teksty w kanale RSS.