警告:CALL_USER_FUNC_ARRAY()要求参数1是有效的回调

时间:2018-05-29 作者:TiboK

我创建了一个新的wordpress,没有主题,只有一个插件:GDPR WP。(我想先在空wordpress上试用这个插件,然后再将它部署到其他网站上)。

所以,我第一次尝试创建函数来接受或不接受GoogleAnalytics cookie。我的函数工作正常,但在BO/FO上有一个错误:

Warning: call_user_func_array() expects parameter 1 to be a valid callback, function \'cookie_GA\' not found or invalid function name in C:\\wamp64\\www\\wordpress\\wp-includes\\class-wp-hook.php on line 286

这是我的职责:

add_action( \'init\', \'cookie_GA\' );  

if (is_allowed_cookie(\'_ga\')) {
    function cookie_GA() { ?>

        <script async src="https://www.googletagmanager.com/gtag/js?id=UA-91484621-2"></script>
        <script>
          window.dataLayer = window.dataLayer || [];
          function gtag(){dataLayer.push(arguments);}
          gtag(\'js\', new Date());

          gtag(\'config\', \'UA-91484621-2\');
        </script>

        <?php 
    };
};
谢谢你的帮助。

1 个回复
最合适的回答,由SO网友:kero 整理而成

警告很明确:

警告:call\\u user\\u func\\u array()要求参数1为有效回调,function \'cookie_GA\' not found or invalid function name 在C:\\wamp64\\www\\wordpress\\wp中包含\\class wp hook。php在线286

所以cookie_GA() 找不到。什么时候会这样?当然了,什么时候is_allowed_cookie(\'_ga\') 为false。所以要么把add_action() 打电话进去if 或者创建一个伪函数。

if (is_allowed_cookie(\'_ga\')) {
    add_action( \'init\', \'cookie_GA\' );
    function cookie_GA() {  /* your code */ }
}

结束

相关推荐

Functions.php中的字符串转换不起作用

我在中使用了以下代码functions.php 要翻译一些文本:add_filter(\'gettext\', \'aad_translate_words_array\'); add_filter(\'ngettext\', \'aad_translate_words_array\'); function aad_translate_words_array( $translated ) { $words = array( // \'word to