有没有一种简单的方法来区分网络上的主题?

时间:2013-10-11 作者:Eugene Manuilov

假设我们有一个多站点网络。网络中的所有站点都按某个选项值分为多个组。我想做的是分离网络可用主题,以供特定组使用。

例如,我有A-Z 已安装主题。我想激活A-K 第1组主题,L-O 第2组主题和P-Z 第3组主题。

有没有简单的方法?

1 个回复
SO网友:brasofilo

你必须让你的网站类别与你的theme categories 文件夹名称。

以下是如何筛选主题:Hide a theme on list of themes in wp-admin without editing core files

然后,假设一个站点有a-p 主题存储在themes/a-p/, 这将过滤掉它们:

add_filter( \'all_themes\', \'remove_themes_ms_wpse_117537\' );

function remove_themes_ms_wpse_117537( $themes )
{
    if( \'site-themes-network\' != get_current_screen()->id )
        return $themes;

    $site_cat = get_blog_option( absint( $_GET[\'id\'] ), \'site_category\' );
    if( $site_cat )
    {
        # Unset themes not in the folder /themes/$site_cat/
        foreach( $themes as $key => $theme )
        {
            if( strpos( $key, "$site_cat/" ) === false )
                unset($themes[$key]);
        }
    }
    return $themes;
}

结束

相关推荐

Copy Root Multisite Site

我在WordPress中创建了一个多站点安装,位于example.com 网站位于example.com/site1, example.com/site2 等是否可以创建example.com 在example.com/site3?Blog Copier 和NS cloner 由于某种原因,不允许您创建根站点的副本。这背后的技术限制是什么?