我随机很少会收到有此问题的用户的报告:
Fatal error: Cannot redeclare my_thing() (previously declared in /foo/functions.php:9) in /foo/functions.php on line 21
这是该文件中的功能:
function my_thing( $subclass = null ) {
global $my_thing;
$args = func_get_args();
$subclass = array_shift( $args );
if ( is_null( $subclass ) ) {
return $my_thing;
}
return call_user_func_array( array( $my_thing, $subclass ), $args );
}
此块的第一行是functions.php
中的#9行,最后一个括号是#21行。
那么如何将my_thing()
声明为在第21行的两次 ?即使functions.php被两次包含(无论出于何种原因),该行也应该是#9而不是#21。
functions.php文件位于引导文件中的require_once
。
sidenote :这是一个包装器方法,因此我可以像my_thing('subclass')->get_it()