如何使样式表出现在主题编辑器中?

时间:2012-06-20 作者:NeuronQ

我在主题目录的css子目录中的主题中有一个样式表(css/style.css). 问题是如何做到这一点。css文件出现在WordPress管理员的主题编辑器中。(我知道使用web编辑器是个坏主意,我从来没有使用过,但客户明确要求这样做)。

注意:在我的主题编辑器中默认显示的唯一css文件是“style”。css的根主题目录,但这不是我需要的。

2 个回复
最合适的回答,由SO网友:brasofilo 整理而成

我想说这是不可能的。。。

首先,文件中没有挂钩/wp-admin/theme-editor.php.

最后但并非最不重要的一点是,如果您尝试其中一种方法,它会转储一个错误:

  • /wp-admin/theme-editor.php?file=css%2Fstyle.css&theme=twentyeleven
  • /wp-admin/theme-editor.php?file=css/style.css&theme=twentyeleven
如果您找到一个解决方法,此代码将插入到所需文件的链接:

/**
 * Adjust the if(\'Twenty Eleven\' == sel) to your theme name
 */
add_action(\'admin_head-theme-editor.php\', \'wpse_55949_script_enqueuer\');

function wpse_55949_script_enqueuer(){
    echo <<<HTML
    <script type="text/javascript">
    jQuery(document).ready( function($) {
        var sel = $("#theme option:selected").text();
        if(\'Twenty Eleven\' == sel) 
        {
            $(\'<li><a href="theme-editor.php?file=css/style.css&amp;theme=twentyeleven">Subfolder Stylesheet<br><span class="nonessential">(css/style.css)</span></a></li>\').appendTo(\'#templateside ul:last\');
        }
    });     
    </script>
HTML;
}
<小时>

[update]

另一种方法是create an options page 客户可以write/manipulate CSS。

SO网友:Dan

这就像你想的那么简单。

您想要提供给客户机的所有选择器,都放在一个额外的样式表中,客户机样式。css

将此样式表保存在主题根目录中,而不是css文件夹中。因此,可能已经存在的样式。css和编辑器样式。css。

添加@import "client-styles.css";样式。css文件(可能已经有其他导入规则)。

标题中的正确链接来自/css/client-styles.css/client-styles.css

提醒客户,如果他们不小心(正如你所说,他们想要这样!),他们可能会将网站丢弃。

结束

相关推荐

无法通过ADD_ACTION将css放入头部

我正在尝试向CSS的头部添加一些CSS,但我无法使其工作(我想在主题CSS之前将其添加到头部,以便插件用户可以轻松超越插件的默认CSS,而不需要!重要的超越)。以下是我尝试的内容:<?php add_action(\'wp_head\', \'addCSS\'); function addCSS() { wp_register_style( \'prefix-style\', plugins_url(\'AddToCartStyles.css\', __FILE__