个性化阅读
专注于IT技术分析

WordPress多站点中的主题相同,但具有自定义CSS?

如何在WordPress多站点上应用相同的主题, 但在每个站点上使用不同的主题选项?

例如 :

site1->主题X, 主色为红色

site2->主题X为绿色主色

问候,


#1


由于两个站点都需要相同的主题, 因此我建议你使用子主题:

Site 1 - Main theme:

创建/ wp-content / themes / site1

创建/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下添加自定义样式

网站配置:

在网络面板(/wp-admin/network/sites.php)中创建站点后, 转到每个站点的仪表板:

  • / wp-admin /用于主站点
  • / sitename / wp-admin第二个站点

在主题部分中, 确保分配:

  • 你的主要站点到site1主题
  • 你的第二个站点以site1-child为主题

我希望这有帮助。干杯!


#2


虽然子站点选项是一个很好的解决方案。我遇到的情况是我只想更改一些CSS样式!因此, 我选择执行以下操作。

在主题标题中, 我获得了站点的ID

$blog_id = get_current_blog_id();

然后在body标签中添加带有

<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; } 

希望这可以帮助

赞(0)
未经允许不得转载:srcmini » WordPress多站点中的主题相同,但具有自定义CSS?

评论 抢沙发

评论前必须登录!