你说过你想在创建用户时将任何用户注册到其他博客。但是这个get_current_user_id()
不会在用户创建时触发。你最好看看wp-includes/user.php
在line 1401 这个wp_insert_user
作用WordPress默认注册过程使用此功能插入新用户。如果你想手动创建用户,那么你也可以使用这个函数。所以如果你用这个user_register
钩子声明于line 1707 在wp-includes/user.php
在…内wp_insert_user
函数,那么我们可以说,在创建新用户时,钩子将一直执行,当用户被创建时,我们会将此用户分配给其他类似的博客-
$blog_id = 1;
//$user_id = 127; // You don\'t need to define user_id here.
$role = \'publisher\';
add_action( \'user_register\', function( $user_id ) use ( $blog_id, $role ) {
add_user_to_blog ($blog_id, $user_id, $role);
}, 10, 1 );
现在你的代码问题来了-
你不能这样做Add_action (\'user_register\', add_user_to_blog ($ blog_id, $ user_id, $ role));
. 第一个错误是add_action
, 小型机箱a
.第二个错误是第二个参数add_user_to_blog ($ blog_id, $ user_id, $ role)
这种价值。它接受一个表示可调用函数名的字符串您已经用大写字母定义了变量,并用小写字母调用了变量将变量错误地传递给可调用函数。请使用我的答案代码进行修复请注意,我使用了匿名函数use
关键字从外部传递值。
希望这有帮助。