【问题标题】:Wordpress Multisite with primary CSS and Functions file带有主要 CSS 和函数文件的 Wordpress 多站点
【发布时间】:2018-03-20 19:57:41
【问题描述】:

我正在运行一个包含超过 15 个域的 wordpress 多站点服务器。

我想做的是从一个文件中为所有域管理所有域的 style.css 和 functions.php(1 style.css 1 functions.php),因为大多数样式和函数在我的所有域中都是相同的,但是我希望在每个子主题中添加特定于域的选项。

这可以做到吗?还是一个坏主意?

【问题讨论】:

    标签: wordpress multisite


    【解决方案1】:

    我们实际上做了类似的事情。我所做的是在/mu-plugins/ 目录中创建了一个PHP 文件。无论活动主题或插件如何,都将加载其中的 PHP 文件。

    您可以阅读 Codex 中的 Must Use Plugins。它们就像插件一样工作,但始终加载且无法激活/停用。

    因此,如果您创建/wp-content/mu-plugins/lahree.php 和/wp-content/mu-plugins/lahree.css,您将能够将.php 文件视为全局functions.php(因为它总是被加载)。从那里您可以将.css 文件排入队列,以有效地将其用作网络范围/全局style.css 文件。

    在 lahree.php 文件中的函数内,您可以比较当前博客名称、站点 URL 甚至活动主题,以加载特定样式表或仅在这些特定站点上运行特定函数。

    您可以在 Action Reference 中看到 mu-plugins 文件加载得非常早,因此如果您计划覆盖样式,您可能需要调整 add_action 挂钩的优先级加载到主题中。

    lahree.php 看起来像这样:

    <?php
        add_action( 'wp_enqueue_scripts', 'wlnb_wp_enqueue_scripts' );
        function wlnb_wp_enqueue_scripts(){
            wp_enqueue_style( 'lahree-global', WPMU_PLUGIN_DIR. '/lahree.css' );
    
            if( site_url() == 'SPECIFIC_SITE_URL_1' )
                wp_enqueue_style( 'lahree-site-1', WPMU_PLUGIN_DIR. '/lahree-1.css' );
    
            if( site_url() == 'SPECIFIC_SITE_URL_2' )
                wp_enqueue_style( 'lahree-site-2', WPMU_PLUGIN_DIR. '/lahree-2.css' );      
        }
    
        add_action( 'wp_head', 'do_something' );
        function do_something(){
            if( site_url() == 'SPECIFIC_SITE_URL_3')
                echo 'This is the Third Site';
    
            if( site_url() == 'SPECIFIC_SITE_URL_4')
                echo 'This is the Fourth Site';
        }
    

    【讨论】:

    • 感谢您的回复。就这样我明白你在说什么: 1 - 我将你建议的代码添加到 /mu-plugins/... 它将取代我的主题 css 和函数文件(?) 2 - 我怎么能也'入队' 我的子主题的 css 和函数文件的优先级较低还是要被读取?还是我误解了你的解释?
    • 您的父主题函数/css 将被加载,然后您的子主题将被加载。这些将在之前加载。您可以通过降低优先级来修改“全局”CSS 文件的优先级,而不是修改子主题优先级,例如:add_action( 'wp_enqueue_scripts', 'lahree-global-assets', 20 );。 PHP 文件本身不应“覆盖”每个 pther,因此您不必担心
    猜你喜欢
    • 2017-03-10
    • 1970-01-01
    • 1970-01-01
    • 2016-04-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-19
    相关资源
    最近更新 更多