检查是否存在.min.css样式表

时间:2013-01-22 作者:Ewout

我的插件将其输出显示在一个thickbox“窗口”中,其内容在load edit中生成。php。这是一个完全裸露的页面,但我想使用一些管理css样式,以便它与UI的其余部分很好地集成。我无法执行常规的admin\\u enqueue\\u脚本,因为wordpress中的任何内容都没有加载到任何地方。现在我已经在轮询用户管理样式,但我需要检查是否存在。样式表的min.css可用(在旧版本中注意到它不是),我可以使用file\\u exists()执行此操作,但这需要一个绝对路径。。。我没有。我有get\\u site\\u url(),但它只给出了基本url,而不是通常称为“wp admin”的部分(假设如果用户安装方式不同,这可能会有所不同?)。

以下是我正在努力实现的目标:

$adminbaseurl = /* this is what I\'m mising */;
if (get_user_option(\'admin_color\') == "classic") {
    if (file_exists($adminbaseurl . \'css/colors-classic.min.css\')) {
        $colorschemeurl = $adminbaseurl . \'css/colors-classic.min.css\';
    } else {
        $colorschemeurl = $adminbaseurl . \'css/colors-classic.css\';
    }
} else {        
    if (file_exists($adminbaseurl . \'css/colors-fresh.min.css\')) {
        $colorschemeurl = $adminbaseurl . \'css/colors-fresh.min.css\';
    } else {
        $colorschemeurl = $adminbaseurl . \'css/colors-fresh.css\';
    }
}
以后用作:

<link rel=\'stylesheet\' type=\'text/css\' href=\'<?php echo $colorschemeurl; ?>\' />
我想最简单的答案可能是wp admin文件夹总是被称为wp admin,但我找不到。。。

编辑:看起来我无论如何都不能使用get\\u site\\u url,因为file\\u exists只采用本地路径。。。

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

直接回答您的问题,您应该能够使用该功能admin_url() 获取admin文件夹的基本URL,以及ABSPATH . \'wp-admin\' 获取该文件夹的本地文件路径。当然,WordPress代码本身并不希望admin文件夹的名称有任何不同。

但是,如果在Thickbox后面的PHP文件中执行此操作,则应该能够通过样式句柄将这些样式排队(从而忘记file\\u exists()调用):

require_once(ABSPATH . \'wp-admin/admin.php\');

结束