包括用户定义样式,但不包括wp-Load

时间:2013-11-14 作者:peacemaker

我已经看过这里的答案,没有一个与我的情况完全相符。我有用户可以编辑的自定义CSS,它保存在选项中。我使用wp_enqueue_style 包含带有CSS内容头的PHP文件,然后从选项加载CSS。然而,为了从选项中加载,我必须包括wp加载。php。我知道这不是最好的做事方式。我究竟应该如何实现这一点呢?

插件主文件:

add_action(\'wp_print_styles\', \'wp123_load_css\');
function wp123_load_css()
{    
    wp_register_style(\'wp123-custom-css\', plugins_url(\'/include/wp-123-style.php\', __FILE__));
    wp_enqueue_style(\'wp123-custom-css\');
}
wp-123-样式。php:

<?php
header(\'Content-type: text/css\');
require_once(\'../../../../wp-load.php\');
$options = get_option(\'wp123_options\');
?>

<?php echo $options[\'custom_css\']; ?>
输出CSS文件而不必包含wp load的正确方法是什么。php?非常感谢您的帮助和建议!

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

如果要将样式表排队,应该使用wp_enqueue_scriptswp_print_styles, 但是,在“WordPress ie”和为了性能而正确做事之间,你处于一个灰色地带。

“WordPress ie”的方式是将样式表排队,但从性能的角度来看,您正在加载额外的资源,在您的情况下,您还必须启动WordPress核心的很大一部分来填充动态样式表。

我不会那样做的。如果是我我会的echo <style 标记到head. 这样做可以避免加载额外的资源,也可以避免两次加载WordPress。这就是WordPress核心本身对动态CSS所做的,动态CSS由主题定制API创建。

我考虑加载另一个动态样式表的唯一情况是,如果要加载大量CSS。我怀疑你会。

结束

相关推荐

如何在wp-Options中删除数组中的孤立用户数据

我有一个选项,订阅论坛电子邮件通知的成员。电子邮件列表作为选项值位于一个数组中。一切正常,所有订阅和取消订阅都使用update_option(); 我的问题是,如果一个用户被删除,不进入数据库就很难取消他的订阅。所以我认为这个函数可以做到这一点,但我肯定遗漏了什么:add_action( \'delete_user\', \'forum_remove_deleted_user\' ); function forum_remove_deleted_user($user_id) {