我创建了一个新的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
};
};
谢谢你的帮助。
最合适的回答,由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 */ }
}