У меня была такая же проблема, и вот решение:
Заменить строку:
$ doc-> нагрузка ($ URL);
с
$ doc-> loadXML (preg_replace ("/> \ s + <", file_get_contents ($ url))); </p>
Для этого нужно загрузить URL-адрес в строку, удалить все пробелы между тегами, а затем передать его объекту DOMDocument для загрузки.
Почему пробелы должны иметь значение? Я не уверен, но кажется, что RSS-канал WordPress содержит пробел, чтобы сделать его приятным с отступом, но это мешает анализатору DOMDocument и делает его похожим на отсутствующий тег.
Кредит http://netweblogic.com/php/domdocument-whitespace-php/, где я нашел ответ; они решают одну и ту же проблему для другой ситуации.
Странно (и я не понимаю), мой код работает без обходного пути на моем сервере разработки, но не на рабочем сервере. Я не уверен, почему, но это должно быть как-то связано с версией и конфигурацией Apache / PHP / WordPress.
В любом случае, я надеюсь, что это поможет, и еще не слишком поздно!
Paul.