Wyobraź sobie taką sytuację: właśnie opublikowałeś najnowszy post na blogu i wpis jest dystrybuowany m.in. poprzez kanały RSS (np. do agregatora typu SQUID) i innych, ale zauważasz, że nie dodałeś obrazka wyróżniającego, kategorii, czy zwyczajnie w tytule jest literówka.
Myślę, że taka sytuacja (lub podobna) wydarzyła się przynajmniej raz aktywnym kreatorom treści na blogi, czy szerokorozumiane Social Media.
Rozwiązanie: Opóźnienie wysłania wpisu do RSS o 60 minut
To przykre, ale gdybyś tylko miał trochę więcej czasu na sprawdzenie wszystkiego lepiej… Z tym kodem możesz!
Konkretnie, opóźniasz publikację w kanałach RSS, więc będziesz miał wystarczająco dużo czasu, aby sprawdzić wpis jeszcze raz i w miarę szybko zareagować. Jeśli podoba Ci się ten pomysł, otwórz plik functions.php motywu (najlepiej potomnego) i dodaj to:
function WSTRZYMAJ_RSS_60_MINUT($where) {
global $wpdb;
if (is_feed()) {
$now = gmdate('Y-m-d H:i:s');
$wait = '60';
$device = 'MINUTE';
$where.=" AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$now') > $wait ";
}
return $where;
}
add_filter('posts_where', 'WSTRZYMAJ_RSS_60_MINUT');
Jeżeli nie wiesz jak dodać ten kod do swojej strony skorzystaj z poradnika poniżej:
2 komentarze do wpisu “Jak opóźnić publikację wpisu WordPress w RSS o 60 minut?”
SpeX
Popraw mnie, ale czy przypadkiem w przypadku edycji wpisu nie jest aktualizowany kanał RSS? A nie, chyba trzeba „trickiem” by re-publikować wpis tj. ustawić jego auto publikację za np. 1-2 -minuty by ponownie publikację wpis. Przynajmniej kiedyś patrzyłem jak zrobić by wpis znów był na początku loopa.
Choć pozostaje pytanie, co wtedy z kanałem RSS. W szczególności, czy taki wpis będzie tam widoczny dwa razy ?
Jakub Jaworowicz[ Autor Artykułu ]
Tak, ale tutaj chodzi o specyficzną sytuacje w której przez pewien czas nie chcemy go pokazywać w RSS choćby przez chwilę :)