Вывод тем с блогов WP на статичную страницу. Как сделать?

12
veselkin
На сайте с 05.04.2005
Offline
167
1155

Подскажите пожалуйста как сделать вот такую вещь.

Есть несколько разделов в которых установлен WP в разных папках и есть статичная главная страница - как сделать вывод заголовков,картинок и описаний на статичную страницу.

То есть на главной должны быть выведены части последних постов с нескольких блогов.

Заранее спасибо.

DkWix
На сайте с 04.11.2007
Offline
75
#1

Распарсить rss фиды блогов


$str = '';
$xml = file_get_contents('http://blog.ru/feed/');
$base = new SimpleXMLElement($xml);
foreach($base->channel->item as $post){
$str .= "<p><a href=\"$post->link\">$post->title</a>";
$str .= "$post->description</a></p>";
}
echo $str;
veselkin
На сайте с 05.04.2005
Offline
167
#2
Распарсить rss фиды блогов

Спасибо огромное.

А не подскажите как задать количество выводимых тем, кодировку, количество символов в описании и вывод картинки.

ЗЫ. Что наглость второе счастье в курсе :)

BD
На сайте с 22.03.2010
Offline
5
#3

$str = '';

//Количество записей
$num = 10;
//Максимум символов для описания
$chars = 100;
$xml = file_get_contents('http://blog.ru/feed/');
$base = new SimpleXMLElement($xml);
//здесь надо подставить кодировки для конвертации
for($i=0;i<$num;$i++){
$post = $base->channel->item[$i] or break;
//здесь надо подставить кодировки для конвертации
$desc = iconv('FROM_CHARSET', 'TO_CHARSET', $post->description);
$post->title = iconv('FROM_CHARSET', 'TO_CHARSET', $post->title);
$desc = (strlen($desc)>$chars) ? substr($desc, 0, $chars) : $desc;
$str .= "<p><a href=\"$post->link\">$post->title</a>";
$str .= "$desc</a></p>";
}
echo $str;
veselkin
На сайте с 05.04.2005
Offline
167
#4

$str = '';
//Количество записей
$num = 2;
//Максимум символов для описания
$chars = 50;
$xml = file_get_contents('http://***/news/feed/');
$base = new SimpleXMLElement($xml);
//здесь надо подставить кодировки для конвертации
for($i=0;i<$num;$i++){
$post = $base->channel->item[$i] or break;
//здесь надо подставить кодировки для конвертации
$desc = iconv('UTF-8', 'windows-1251', $post->description);
$post->title = iconv('UTF-8', 'windows-1251', $post->title);
$desc = (strlen($desc)>$chars) ? substr($desc, 0, $chars) : $desc;
$str .= "<p><a href=\"$post->link\">$post->title</a>";
$str .= "$desc</a></p>";
}
echo $str;

так не хочет работать, непонятно с первым комментарием - куда вставить кодировки

Прошу прощения за навязчивость

BD
На сайте с 22.03.2010
Offline
5
#5
veselkin:

так не хочет работать, непонятно с первым комментарием - куда вставить кодировки

Прошу прощения за навязчивость

ошибки какие? первый коммент я просто удалить забыл - сначала не то сделал

veselkin
На сайте с 05.04.2005
Offline
167
#6

ошибок нет, просто показывается пустая страница

DkWix
На сайте с 04.11.2007
Offline
75
#7


$n = 4; //количество постов
$desc_n = 200; //количество символов

$xml = file_get_contents('http://blog.ru/feed/');
$base = new SimpleXMLElement($xml);
foreach($base->channel->item as $post){
echo $str = "<p><a href=\"$post->link\">$post->title</a></p>"
.'<p>'.substr($post->description, 0, $desc_n).'</p>';
if(1 == $n--) break;
}

Для нормального отображения - установите нормальную кодировку (utf-8) у главной страницы.

veselkin
На сайте с 05.04.2005
Offline
167
#8

Стало лучше - только описание выводится два раза и количество символов задаваемое в скрипте влияет только на вывод повторного описания :)

Вывод 1

<BR>

<?php
$n = 2; //количество постов
$desc_n = 1; //количество символов

$xml = file_get_contents('http://***.ru/?feed=rss2');
$base = new SimpleXMLElement($xml);
foreach($base->channel->item as $post){
echo $str = "<p><a href=\"$post->link\">$post->title</a>"
."$post->description</a></p>"
.'<p>'.mb_strcut($post->description, 0, $desc_n).'</p>';
$n--; if($n == 0) break;
}
?>

<BR>******
<BR>Вывод 2
<BR>
<?php
$n = 3; //количество постов
$desc_n = 2000; //количество символов

$xml = file_get_contents('http://***.ru/news/feed/');
$base = new SimpleXMLElement($xml);
foreach($base->channel->item as $post){
echo $str = "<p><a href=\"$post->link\">$post->title</a>"
."$post->description</a></p>"
.'<p>'.mb_strcut($post->description, 0, $desc_n).'</p>';
$n--; if($n == 0) break;
}
?>

результат: http://tigryata.ru/testing.html

Вот ведь оказывается какая проблема :(

K
На сайте с 29.06.2005
Offline
76
#9

Есть плагин от Ю.Б.

http://blog.portal.kharkov.ua/2008/10/26/kak-vstavit-posty-v-stranicu/

а с выводом уже колдуйте :)

veselkin
На сайте с 05.04.2005
Offline
167
#10
Есть плагин от Ю.Б.

это немного не то, мне нужно вставить не в страницу блога, а в отдельную статичную страницу последние записи

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий