【发布时间】:2019-11-22 19:34:05
【问题描述】:
如何在 WordPress 多站点上应用相同的主题,但在每个站点上使用不同的主题选项?
例如:
site1 --> 主色为红色的主题 X
site2 --> 主色为绿色的主题 X
问候,
【问题讨论】:
标签: wordpress wordpress-theming multisite
如何在 WordPress 多站点上应用相同的主题,但在每个站点上使用不同的主题选项?
例如:
site1 --> 主色为红色的主题 X
site2 --> 主色为绿色的主题 X
问候,
【问题讨论】:
标签: wordpress wordpress-theming multisite
由于您需要为两个站点使用相同的主题,我真的建议您使用child themes:
Site 1 - Main theme:
创建/wp-content/themes/site1/style.css:
/*
Theme Name: site1
Template: site1
Description: Site1 default theme
Version: 1.0
Author: <Author_Name>
Author URI: <Author_URI>
*/
添加其余所需的模板文件
然后在创建子主题时链接主主题样式并添加您的自定义类,如下所示:
Site 2 - Child theme:
创建/wp-content/themes/site1-child
现在在 /wp-content/themes/site1-child/
创建/wp-content/themes/site1-child/style.css:
/*
Theme Name: site1 child
Template: site
Description: Site1 child theme
Author: <Author_Name>
Author URI: <Author_URI>
*/
将此添加到您的 /wp-content/themes/site1-child/style.css 文件的顶部(在注释的主题信息下方)以将您的主要主题的样式包含在子项中:
@import url("../site1/style.css");
根据需要在@import 下方添加您的自定义样式
Sites configuration:
在网络面板(/wp-admin/network/sites.php)中创建站点后,转到每个站点的dashboard:
在主题部分,确保分配:
我希望这会有所帮助。 干杯!
【讨论】:
虽然子站点选项是一个很好的解决方案。我有一种情况,我只想更改一些 CSS 样式!所以我选择了以下操作。
在主题标题中,我得到了站点的 ID
$blog_id = get_current_blog_id();
然后在body标签中加上id与
<body id="site-id-<?php echo $blog_id; ?>" <?php body_class(); ?> >
然后这样输出html:
<body id="site-id-3" class="page-template-default page page-id-8 logged-in admin-bar customize-support">
所以现在我可以在我的 LESS / SASS 等中添加自定义样式,如下所示:
#site-id-3 p { color: red; }
希望对你有帮助
【讨论】: