Adding users to another blog

时间:2017-05-19 作者:Tuttopia Software

早上好

我想制作一个片段,当在博客中创建一个用户时,将其自动添加到另一个具有创建的相同卷的博客中(始终为1号)。

为此,我使用以下方法:

$ Blog_id = 1;
$ User_id = get_current_user_id ();
$ Role = \'publisher\';
Add_action (\'user_register\', add_user_to_blog ($ blog_id, $ user_id, $ role));
。。。。。但它不起作用,

但如果我这样做。。。。

$ Blog_id = 1;
$ User_id = 127; // 127 is a specific number of a user that already exists
$ Role = \'publisher\';
Add_action (\'user_register\', add_user_to_blog ($ blog_id, $ user_id, $ role));
那么是的,这很有效。

有人能帮我理解为什么第一个(通用)解决方案不适用于:

$ User_id = get_current_user_id (); ?

1 个回复
SO网友:CodeMascot

你说过你想在创建用户时将任何用户注册到其他博客。但是这个get_current_user_id() 不会在用户创建时触发。你最好看看wp-includes/user.phpline 1401 这个wp_insert_user 作用WordPress默认注册过程使用此功能插入新用户。如果你想手动创建用户,那么你也可以使用这个函数。所以如果你用这个user_register 钩子声明于line 1707wp-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 关键字从外部传递值。

希望这有帮助。

结束

相关推荐

函数.php出现问题..喜欢

对不起,如果你在上显示我的博客autodhil.com 有问题的原因在我的博客顶部有一个错误的纸条。。以便显示此通知:Deprecated mysql_escape_string(): This function is deprecated; use mysql_real_escape_string() instead. in /home/autodhil/public_html/wp-content/themes/sahifa2/functions.php on line 60 我真的不知道如