FETCH_FEED函数适用于模板index.php,但不适用于plugin/wp-admin

时间:2013-06-20 作者:Sean

我正在使用fetch\\u feed,基本上拥有与所提供的伟大示例相同的代码here但我是从内容中创建新帖子,而不是事后显示。我看到的错误有:

Warning: include_once(ABSPATHWPINC/feed.php) [function.include-once]: failed to open stream: No such file or directory in /home/user/public_html/test/wp-content/plugins/rss-plugin/rss-plugin-scan.php on line 6

Warning: include_once() [function.include]: Failed opening \'ABSPATHWPINC/feed.php\' for inclusion (include_path=\'.:/opt/php53/lib/php\') in /home/user/public_html/test/wp-content/plugins/rss-plugin/rss-plugin-scan.php on line 6

Fatal error: Call to undefined function fetch_feed() in /home/user/public_html/test/wp-content/plugins/rss-plugin/rss-plugin-scan.php on line 9
第6行是第一句话:

include_once( ABSPATH . WPINC . \'/feed.php\' );
扫描文件的第9行(第二条语句)是:

$rss = fetch_feed( \'http://www.website.com/rss\' );
我一直在四处寻找,但我发现wordpress上有几篇类似的帖子。org未解析或从未应答。我在搜索时看到的一个修复方法是确保没有wp\\u错误,但我已经在使用codex示例中的代码,其中包括这一点。

if ( ! is_wp_error( $rss ) ) : // Checks that the object is created correctly
我正在加载rss插件扫描。使用此方法的php文件:

<?php 
$plugin_location = plugins_url();
$scan_url = $plugin_location . \'/rss-plugin/rss-plugin-scan.php\';
?>

<a href="<?php echo $scan_url ?>?scan=true&source=<?php echo $feed_source;?>"><b>Scan Now!</b></a>
有什么原因可以解释为什么每次我重新加载索引页面时,它都能在我的索引页面中正常工作,而不是在这个插件/wp管理员中?

1 个回复
SO网友:s_ha_dum

错误表明存在问题--ABSPATHWPINC 未定义。这就是为什么你看到ABSPATHWPINC/feed.php 在错误中。PHP试图充分利用未定义的常量,并将其视为字符串。很容易通过以下方式证明这一点echo像这样的字符串IAM.NOT.\'defined\'.

这可能是因为您正在加载rss-plugin-scan.php 这意味着WordPress核心没有加载来定义这些常量。您应该以一种同时加载WordPress核心或所需部分的方式加载该文件。。

我不知道你的插件是如何工作的,或者它最终需要做什么,但你可能想通过AJAX API, 或者通过这样做something like @Rarst explains here.

结束

相关推荐

如何细分Feed的导入

我正在尝试使用fetch\\u feed将大量feed更新到WordPress中。正如所料,当超过50个feed时,服务器开始超时。我仍然希望批量更新feed,但不会使服务器崩溃。你能建议一种我可以把事情分解的方法吗?也许使用AJAX?这是最好的技术吗?我可以看一些例子吗?