在多站点安装中,我使用了“更多隐私”插件来限制对特定子网站www.example的访问。com/私人网站。其他子网站不是私有的。这工作正常。
我使用创建了一个自定义登录页https://codex.wordpress.org/Customizing_the_Login_Form 信息所有子网站都使用相同的主题,因此自定义登录页面代码位于该子主题的函数中。php文件。
进一步自定义自定义登录表单的最佳方式是什么http://www.example.com/privatesite 与具有不同的登录页http://www.example.com/publicsite , 即使所有子网站使用相同的主题?
我怀疑我需要一些逻辑来“感知”正在访问的子网站。
谢谢
Added: the final code used based on the approved answer
我从@hwl获取了选中的答案,并使用此功能获取博客名称,以便它可以显示在自定义登录屏幕上:
function get_the_blog_name() {
$blog_id = get_current_blog_id();
$blog_info = get_blog_details($blog_id);
$blogname = $blog_info->blogname;
return $blogname;
}
谢谢你的帮助!
最合适的回答,由SO网友:hwl 整理而成
您可以使用获取当前博客id(即网络中的站点、您的子站点)get_current_blog_id() 您可以使用get_blog_details()
抄本:get_blog_details(), 传递的id为1, 可以返回以下对象:
[blog_id] => 1
[site_id] => 1
[domain] => foo-multi-site.com
[path] => /site-path/
[registered] => 2014-07-31 14:51:09
[last_updated] => 2014-07-31 15:51:56
[public] => 1
[archived] => 0
[mature] => 0
[spam] => 0
[deleted] => 0
[lang_id] => 0
[blogname] => Site Name
[siteurl] => http://foo-multi-site.com/this-site
[post_count] =>
如果您没有将id传递给
get_blog_details(), 它调用
get_current_blog_id() 并使用该值。
所以可能有这样一个条件:
$current_blog = get_blog_details();
if ( $current_blog->path === \'/privatesite/\' ) {
//display log in or call template for private site
}
else {
//do what you need for default log in
}