Dziś szybka porada dotycząca ikon wpisów WordPressa w kanale RSS. Niestety, tak się składa, że sam fakt przystosowania szablonu WordPressa do wyświetlania ikon wpisów nie wystarczy do tego, aby takie ikony były wyświetlanie razem z treścią artykułu publikowanego w kanale RSS.

Jak to zmienić?

Jak dodać ikonę wpisu do treści artykułu w kanale RSS?

Aby zmusić kanał RSS do wyświetlania ikon wpisów powiązanych z danym postem trzeba wkleić w pliku functions.php używanego przez nas szablonu WordPressa taki kod:


function rss_post_thumbnail($content) {
global $post;
if(has_post_thumbnail($post->ID)) {
$content = '

' . get_the_post_thumbnail($post->ID) .
'

 

' . get_the_content();
}
return $content;
}
add_filter('the_excerpt_rss', 'rss_post_thumbnail');
add_filter('the_content_feed', 'rss_post_thumbnail');

Rozwiązanie to znalazłem we wpisie na blogu WPBeginner.

Wszystko byłoby świetnie, gdyby nie fakt, że czytniki kanałów RSS (przynajmniej czytnik Google, którego ja używam) ignorują deklaracje zawarte w pliku ze stylami CSS szablonu WordPressa, czego efektem jest fakt, że obrazek będący ikoną wpisu “wisi” sobie jako jedyny element na początku wpisu. Wygląda to mało estetycznie, zobaczcie sami:

Domyślnie wstawiona ikona wpisu w kanale RSS
Domyślnie wstawiona ikona wpisu w kanale RSS

Jeśli ktoś zna rozwiązanie tego problemu to bardzo proszę o podzielenie się tą wiedzą w komentarzach. Ja znam jedynie wtyczkę Align RSS images, ale ona powoduje oblewanie tekstem ilustracji zawartych we wpisach, które nie są ich ikonami. Ikony wpisów są przez tę wtyczkę ignorowane (tak twierdzi autor wtyczki). Próbował ktoś to poprawić?

3 komentarz(e)y na temat “WordPress – ikony wpisów w kanale RSS

  1. Potrzebuje osoby która wykona dla mnie (za oplato) niepowtarzalny szablon dla bloga wp styl CSS??

  2. Co zrobić ażeby gradient wyświetlał się we wszystkich przeglądarkach??
    To jest ten kod otwiera mi tylko w chromie

    background: #green;
    background: -webkit-gradient(linear, left top, right top, from(#000000), to(#ffffff));
    background: -moz-linear-gradient(left top, #000000, #ffffff);
    filter:progid:Gradient(StartColorStr=#FF000000, EndColorStr=#FFffffff, GradientType=1);

Komentarze zostały wyłączone.