如何将一个样式表用于我的多站点网络上的多个子站点?

时间:2020-04-30 作者:Justinas Rubinovas

我有一个多站点Wordpress设置。每个子站点都使用自己的子主题,但有一个样式表具有CSS规则,应该在其中几个子站点上使用。我不希望每个子站点都有多个相同的样式表文件,因为当我对其进行更改时,我必须在样式表的每个实例中进行这些更改,或者必须将其复制粘贴到每个子站点。

如何告诉每个子站点只使用该样式表的一个实例?也许我可以创造一种风格。每个子站点的css文件,并在其中写入某种重定向到主样式。css(实际上包含规则的那个)?

3 个回复
SO网友:omega33

首先,您显然需要对所有站点使用相同的父主题。然后为每个子站点设置该父主题的子主题。

要在多个站点上使用相同的样式表,请将以下代码添加到functions.php 各子站点文件:

function import_shared_style_sheet() {
     wp_enqueue_style( \'shared-style-sheet\', content_url( \'/themes/SOURCE-THEME/style.css\') );

}
add_action( \'wp_enqueue_scripts\', \'import_shared_style_sheet\' );
SOURCE-THEME 需要替换为共享主控形状的主题的文件夹名称styles.css 文件来源。

请记住styles.css 每个子站点的子主题文件仍将加载。因此,请确保删除文件顶部主题数据下方的所有css。例如,您应该只有以下内容(根据您使用的子主题的不同而有所不同)。在本例中,父主题(对于所有站点)是二十,因此共享styles.css 文件位于一个220子主题中。

/*
Theme Name: Sub-site Theme (child theme)
Theme URI: 
Template: twentytwenty
Author: 
Description: Child theme of Twenty Twenty. Shares style.css of XXX child theme.
Version: 1.01
Updated: 2021-02-01 01:14:52
*/
请注意,如果您最终得到一些只需应用于特定子网站的样式,您仍然可以将这些样式添加到styles.css 该子站点子主题的文件styles.css 文件

SO网友:Bevan

使用wp\\u enqueue\\u样式函数,并将指向主CSS工作表的路径放入源中src="full-path-goes-here". 请参见此处有关功能的WP文档:https://developer.wordpress.org/reference/functions/wp_enqueue_style/

SO网友:WebElaine

如果将通用样式放在父主题的样式表中,则无论子主题如何,都将应用这些样式。它们必须比儿童主题的风格更具体。

您不会有多个相同的样式表;MultiSite将所有站点的主题存储在一个中心位置,通常通过父子主题设置,您可以同时包含父CSS和子CSS。

相关推荐

在本地主机上工作的WordPress,当共享IP连接时,在.js和.css文件上收到ERR_CONNECTION_REJECTED

What I have: 正如标题所示,我在本地机器上安装了WordPress,可以运行并访问它(Mac+MAMP)localhost:8888/myBlog. 它工作得很好。通过共享我的IP,我可以从另一台计算机访问WordPress博客(myIP:8888/myBlog). 但问题是。The problem: 页面将加载,但不会加载。js,也不是。css。通过检查控制台,我看到六个ERR_CONNECTION_REFUSED 对于来自wp内容的js和css文件(.css和.js,我安装了一个主题)和来