我正在尝试使用fetch\\u feed提取托管在同一服务器上的feed(但使用不同的域名)。例如,我的网站是牛蛙。com和我正在尝试从蝌蚪那里获取事件的RSS提要。com,它托管在同一服务器上,但不在同一WP安装中,并且使用不同的域名。它不起作用。它说feed中“没有项目”。
现在,我可以使用完全相同的fetch\\u feed函数将任何其他经过验证的RSS提要(例如来自CNN或Gawker)从外部服务器拉入bullfrogs。com。我也可以在另一个完全不同的web主机/服务器turtles上使用相同的代码块。com,它将从蝌蚪身上提取RSS。com没有问题。蝌蚪的RSS提要。com使用W3C RSS验证工具进行验证。
假设我对服务器了解不多,并且我不管理它,如果问题是WordPress仪表板无法修复的,我需要请系统管理员帮助我。他已经报告说,除了rss提要上的500个错误外,他在调试内容或站点日志中没有看到任何内容。我如何询问其他可能性,以及我应该寻找什么东西?
代码来自this site 看起来是这样的:
<?php if(function_exists(\'fetch_feed\')) {
include_once(ABSPATH . WPINC . \'/feed.php\'); // include the required file
$feed = fetch_feed(\'http://tadpoles.com/feed\'); // specify the source feed
$limit = $feed->get_item_quantity(7); // specify number of items
$items = $feed->get_items(0, $limit); // create an array of items
}
if ($limit == 0) echo \'<div>The feed is either empty or unavailable.</div>\';
else foreach ($items as $item) : ?>
<div>
<a href="<?php echo $item->get_permalink(); ?>"
title="<?php echo $item->get_date(\'j F Y @ g:i a\'); ?>">
<?php echo $item->get_title(); ?>
</a>
</div>
<div>
<?php echo substr($item->get_description(), 0, 200); ?>
<span>[...]</span>
</div>
<?php endforeach; ?>
提前谢谢。
最合适的回答,由SO网友:MathSmath 整理而成
听起来您有服务器配置问题,特别是环回问题。
有时服务器无法通过FQDN向自己发出HTTP请求。这可能是由许多不同的因素造成的,但您最好(第一)的选择是让您的系统管理员确保您的所有域都存在于服务器的主机文件中,并引用每个virtualhost正在侦听的任何本地IP。例如:
127.0.0.1 bullfrogs.com
127.0.0.1 tadpoles.com
这是最有可能的事情。但是,如果它不能解决问题,那么您是否需要系统管理员来研究环回和web服务器配置的任何其他可能的复杂性(即,服务器是否可以向自己的站点发出请求)。这是sysadmin应该能够使用一些快速CURL请求从服务器的CLI进行诊断的内容。