当用户在多站点上注册时,在主站点上自动注册

时间:2020-04-07 作者:Borislav Zlatanov

我有一个WordPress多站点,上面有一个主站点。从多站点设置中,启用用户注册。

当用户通过电子邮件注册和确认时,他们将被添加到多站点,但不会添加到主站点。它们必须手动添加到主站点。

如何使在多站点上注册的用户也自动添加到主站点?

技术细节:这是一个基于子域的多站点,运行WordPress 5.3版。主站点设置中的默认用户角色设置为subscriber 如Network Admin=>Sites=>main site settings中所定义。

1 个回复
SO网友:Pat J

您可以连接到wpmu_activate_user 并在主站点上添加用户角色。

add_action( \'wpmu_activate_user\', \'wpse363445_add_user_to_main_site\' );
function wpse363445_add_user_to_main_site( $user_id ) {
    if ( is_main_site() ) {
        // Don\'t run if we\'re already on the main site.
        return;
    }
    if ( is_user_member_of_blog( get_main_site_id(), $user_id ) ) {
        // Don\'t add the user to the main site if they\'re already a member.
        return;
    }
    add_user_to_blog( get_main_site_id(), $user_id, \'subscriber\' );
}
参考文献wpmu_activate_user 挂钩is_main_site()
  • add_user_to_blog()
  • get_main_site_id()
  • is_user_member_of_blog()
  • Note: 这只适用于收到激活电子邮件的用户。如果手动将用户添加到站点,并且选择不向他们发送激活电子邮件,则需要手动将其添加到主站点。

    相关推荐

    MultiSite有SSL证书,但媒体库仍为http://

    我们的多站点WordPress安装的URL为https://xx.com 对于主域,例如,https://yy.xx.com 作为子网站。我们正在使用WP的内置域映射功能。媒体库链接仍显示为http://xx 尽管如此,子域上使用的任何图像都被标记为不安全。只有一个子域(我们最近的一个子域)具有与结构的媒体库链接https://zz.xx.com. SSL证书可能是在创建其他子域之后安装的,但在ZZ之前:我不确定。我如何获得WP媒体库链接,所有链接都显示为https://-最好是URL中的子域?理想情况下