Я объединяю несколько RSS-каналов из профиля пользователя в Wordress, где RSS-канал предлагает вводимые пользователем данные в каждой строке.Я использую функцию implode для создания массива с помощью RSS-каналов, используя функцию wordpress fetch_feed для получения сообщений.Но по какой-то проводной причине сообщения с одного URL не отображаются.Но когда я создаю массив с такими же URL-адресами вручную, это работает!Вот код, который вы можете увидеть сами.
//array by explode
if($author->feeds){
$urlArray = explode("\r", $author->feeds);
}
//manually created array
$mArray = array('http://lakeview.citystirchicago.com/feed/', 'http://citystir.com/feed/');
down in the page
if($author->feeds){
if(function_exists('fetch_feed')){
include_once(ABSPATH . WPINC . '/feed.php');
$feed = fetch_feed($array);
if (!is_wp_error( $feed ) ){
$limit = $feed->get_item_quantity(8);
$items = $feed->get_items(0, $limit);
if(!$items){
echo 'Problem loading feed.';
} else {
?>
<ul id="activity_feed">
<?php
foreach ($items as $item):
//do stuff
endforeach;
?>
Вы можете проверить два экземпляра по этим двум URL.Я напечатал $ mArray и $ urlArray оба.Массив, созданный вручную $ mArray, показывает сообщения из второй ссылки (Новое тестовое сообщение), в то время как массив by explode $ urlArray не равен Оба одинаковы, но результат различен!:
Использование $ mArray: http://citystir.com/author/designdons/
Использование $ urlArray: http://citystir.com/author/designdons/?test=1
Решено: пришлось изменить разделитель разнесения "\ r" на "\ r \ n".Возможно, мне придется найти более эффективный способ взорваться.Спасибо!