2012-08-13 52 views
4

当我将PHP错误报告置于我的WordPress安装程序中时,我不断收到此错误。错误:只应通过wp-includes/post.php中的引用返回变量引用

Notice: Only variable references should be returned by reference in /Users/admin/Sites/wp-includes/post.php on line 3394

我有它与分类及其层级设置做的感觉。

一直试图追查一下现在在我正在写的插件

这些是WP Core中的实际代码行,返回值位于excact行。

// Make sure the post type is hierarchical 
$hierarchical_post_types = get_post_types(array('hierarchical' => true)); 
if (!in_array($post_type, $hierarchical_post_types)) 
     return false; 

我会继续调试它,直到我发现这个问题,但是任何输入将是我没有在我的插件就找到了问题的高度视宁度。

+1

也许你的插件调用了一个WP核心函数错误并导致了错误(有时候使用jQuery)。查看回溯,找出在WP核心功能之前调用的功能。你可以使用'debug_print_backtrace()'; http://www.php.net/manual/en/function.debug-print-backtrace.php – 2012-08-13 08:58:55

回答

6

return false; - 这不是一个变量
试着这么做

if (!in_array($post_type, $hierarchical_post_types)) { 
     $rv = false; 
     return $rv; 
} 

(边注:我不知道WordPress和/或你正在使用有一个MOD是干什么的,但也许/可能“通过引用返回”是a)首先是不必要的,并且b)来自php4实现的遗漏)

+0

不错的工作。这实际上解决了这个问题。但它位于WP Core中,所以我会猜测要记录一张票。奇怪,因为它是抛出这个错误的默认的vanilla get_pages()函数(自V.1.5.0起)。也许是一个PHP 5.4的问题。 – Foxinni 2012-08-13 09:34:56

+0

它似乎只是从我的插件抛出通知错误,而不是如果它在主题中... – Foxinni 2012-08-13 10:03:58

+0

问题是在Trac中,将密切关注它。 http://core.trac.wordpress.org/ticket/20756#comment:2 – Foxinni 2012-08-13 10:29:35

相关问题