Includowanie postów z innego bloga Wordpress

Na zaincludowanie postów lub ich części z innego bloga opartego o Wordpress jest przynajmniej kilka sposobów. Jednym z nich jest pobranie danych z kanału rss. Na blogu z którego pobieramy mamy możliwość ustawienia co na kanale rss będzie dostępne.
W celu dodania np. na stronie głównej paska z kilkoma ostatnimi wpisami z innego bloga możemy utworzyć w pliku functions.php naszego szablonu poniższą funkcję:

function show_last_posts($atts) {
$a = shortcode_atts( array(
'count' => 1,
'blog' => '',
), $atts );
if ($a['blog'] !="") {
$doc = new DOMDocument();
$doc->load($a['blog']);
$destinations = $doc->getElementsByTagName("description");
$i = 1;
foreach ($destinations as $destination) {
foreach($destination->childNodes as $child) {
if ($child->nodeType == XML_CDATA_SECTION_NODE) {
if ($i > $a['count'])
continue;
$image = get_first_image_url($child->textContent);
$link = get_page_url($child->textContent);
$alt = get_first_alt($child->textContent);
$echo .= '<div class="blogimage"><a href="$link" target="_blank"><img src="$image"><br>$alt </a></div>';
$i++;
}
}
}
return $echo;
}
else return "Nieprawidłowy adres bloga!";
}

Po napisaniu funkcji dodajemy jeszcze shortcode umożliwiający użycie widgetu na stronie lub we wpisie.

add_shortcode( 'show_last_posts', 'show_last_posts' );

Wywołanie funkcji za pomocą shortcodu będzie mogło wyglądać następująco:

[show_last_posts count="4" blog="http://adresblogazktoregopobieramywpisy.pl/?feed=rss2"]

Funkcje dodatkowe dzięki którym z description lub innego wybranego tagu można wydobyć interesujące nas dane mogą prezentować się następująco:

function get_first_image_url($html) {
if (preg_match('/<img.+?src="(.+?)"/', $html, $matches)) {
return $matches[1];
}
}

function get_page_url($html) {
if (preg_match('/<a.+?href="(.+?)"/', $html, $matches)) {
return $matches[1];
}
}

function get_first_alt($html) {
if (preg_match('/alt="(.+?)"/', $html, $matches)) {
return $matches[1];
}
}

Wpisany pod kategorią Rozwiązania open source, Systemy CMS, Wordpress · Tagowany przez

Wyraź siebie

Napisz co Ty myślisz...
ooo i, jeśli chcesz fotkę widoczną z komentarzem, idź looknij na gravatar!

Musisz być zalogowany aby pisać komentarze.