我写了一个简单的插件,它使用wp_options设置一些css代码.它看起来像这样:
add_action('init','easy_style'); function easy_style() { ?> <style> #header a { color: <?PHP echo get_option('topcolor'); ?>; font-size: <?PHP echo get_option('topsize'); ?>px; <?PHP if (get_option('topstyle') == "bold") { echo "font-weight: bold;"; echo "font-style: normal;"; } elseif (get_option('topstyle') == "italic") { echo "font-style: italic;"; echo "font-weight: normal;"; } elseif (get_option('topstyle') == "bolditalic") { echo "font-weight: bold;"; echo "font-style: italic;"; } else { echo "font-weight: normal;"; echo "font-style: normal;"; } ?>; } </style> <?PHP }
现在这可行,但如果我激活我的“联系表格7”插件,联系表格7将不再起作用.它不能发送任何邮件.所以我觉得我做错了.如果我删除这段代码,联系表格再次起作用……
我想我做错了因为css需要加载到标题中,不是吗?
所以我认为我会做的测试是在标题中添加相同的代码.然而,其他一些CSS(我不知道在哪里)覆盖这些,所以这也行不通.
我认为有一些wp函数可以将css代码添加到标题中,但我不知道如何exacly.
有任何想法吗?
谢谢
解决方法
将CSS添加到插件的一种安全方法是使用wp_enqueue_style.
/** * Register with hook 'wp_enqueue_scripts',which can be used for front end CSS and JavaScript */ add_action( 'wp_enqueue_scripts','prefix_add_my_stylesheet' ); /** * Enqueue plugin style-file */ function prefix_add_my_stylesheet() { // Respects SSL,Style.css is relative to the current file wp_register_style( 'prefix-style',plugins_url('style.css',__FILE__) ); wp_enqueue_style( 'prefix-style' ); }