我尝试在WordPress中创建新的用户配置文件后实现自定义功能/操作。为了测试代码,我尝试在文件中编写一个文本作为函数执行的证明。 这是我在活动主题的functions.php文件
末尾插入的代码if ( ! function_exists( 'register_for_cmsa' ) ) :
function register_for_cmsa($user_id) {
// write in an external file
// writeLogWP($msg) is a function from a file I have included in index.php
writeLogWP("A new user is: " . $user_id);
}
add_action('user_register', 'register_for_cmsa');
endif;
因此,我通过管理面板添加了一个新用户。一旦我验证标准WP添加用户表单(wp-admin / user-new.php),我就会得到一个空白页面,这意味着上面的代码有问题。但是用户被添加到数据库中(如果我评论我的功能,它在用户列表中可见)。这里遇到的麻烦是在register_for_cmsa()函数中执行writeLogWP(“一个新用户是:”。$ user_id)语句。 我试图查看语句是否在函数外部工作,而总是在functions.php文件中。我注意到当我在WP站点中导航时它将消息写入外部文件,但是当我进入管理仪表板部分时它就会发布空白页面。 我的代码在“网站”方面被接受,但在“管理员”方面有误。 但是,代码不会在“站点”端执行,因为不会触发挂钩。只有当我转到'wp-admin / user-new.php'时它才被触发但是...我可以'测试它,因为上面的原因。 我真的很困惑,很高兴有你的意见,为什么不,解决方案。 感谢
答案 0 :(得分:0)
访问WordPress管理员时未加载index.php
,因此在这种情况下不会调用writeLogWP
函数。将其移至functions.php
应该可以解决问题。