Связанная проблема с использованием функции fetch_feed и использованием массива URL-адресов каналов

#php #arrays #wordpress #rss #explode

#php #массивы #wordpress #RSS-канал #взорваться

Вопрос:

я объединяю пару rss-каналов из профиля пользователя в wordress, где пользователь вводит URL-адреса 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, показывает записи из второй ссылки (новый тестовый пост), в то время как массив с помощью explode $urlArray не является, оба совпадают, но результат отличается!:

Использование $ mArray:http://citystir.com/author/designdons /

Использование $urlArray:http://citystir.com/author/designdons/?test=1


Решено: пришлось изменить разделитель разнесения » r» на » r n». Возможно, мне придется найти более эффективный способ взрыва. Спасибо!

Ответ №1:

Изменение разделителя разнесения » r» на » r n» решило проблему.