WordPress MultiSite-当用户在主站点注册时,如何将用户添加到子站点

时间:2017-06-29 作者:nitigyan

我正在建立一个Wordpress多站点网络,用户可以在主站点上订阅一个或多个服务,也可以访问子站点上的内容。子网站的访问权限将取决于他们在主站点上订阅的服务。

我想使用一些代码做的是,当用户在主站点注册时,我可以将该用户添加到子网站,并添加一些属性/元数据来定义用户对子网站的访问权限(可能是我将使用memberpress来管理访问权限)

我的主要问题是,当用户注册主站点时,可以使用什么代码将其添加到子站点?

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

add_user_to_blog() 用户创建后。

你可以继续user_register() 获取新创建的用户ID并将其和任何条件分配传递给运行的回调add_user_to_blog().

SO网友:skotperez

我完成了@hwl\'s答案:

大多数情况下,在WordPress的多站点实例中,用户注册包括激活步骤。

在这种情况下,有必要将操作挂起wpmu_activate_user; 操作挂接user_register 将被忽略。例如:

my_function($user_id)   {
    // to add a user to main site (id=1) as a subscriber add_user_to_blog can be used
    // more info: https://codex.wordpress.org/Function_Reference/add_user_to_blog
    add_user_to_blog( \'1\', $user_id, \'subscriber\' );
}
add_action(\'wpmu_activate_user\',\'my_function\',10,1);

结束

相关推荐

在WordPress MultiSite中使用系统脚本广告

我有一个我不能解决的小问题。我有一个网站“多站点”系统与广告脚本。我希望我能进入排行榜横幅。这是一个示例脚本:<div id=\"\"><script src=\"\"></script><script src=\"\" ></script></div> 我已经插入了这个代码脚本,但问题是它出现在整个网络中,相反,我希望每个脚本是独立的,并且在每个子域中按区域更改广告。它更正了此召回:<?php if