WordPress多站点中的相同主题但使用自定义css?

时间:2016-10-10 17:16:09

标签: wordpress wordpress-theming multisite

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

例如:

site1 - >主题X用红色主色

site2 - >主题X与绿色主色

此致

2 个答案:

答案 0 :(得分:0)

由于两个网站都需要相同的主题,我建议您使用child themes

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

Sites configuration:

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

    主网站
  • / wp-admin /
  • 第二个网站
  • / sitename / wp-admin

主题部分中,请务必指定:

  • 您的主网站 site1 主题
  • 您的第二个网站 site1-child 主题

我希望这会有所帮助。 干杯!

答案 1 :(得分:0)

尽管子站点选项是一个很好的解决方案。我遇到的情况是我只想更改一些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; } 

希望这会有所帮助