如何在WordPress插件中将CSS输出到样式表的开头

时间:2012-05-06 作者:Talon

我正试图通过插件在当前主题样式表的顶部插入一些CSS。(因此,插件用户很容易过度使用CSS)。

您如何将CSS预先添加到主题样式表中?

此外,我正在尝试在主题的/body标记之前添加一些Javascript,这将如何实现?

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

永远不要通过插件修改当前主题的样式表。如果主题得到更新,或者用户更改了主题,该怎么办?这不是个好主意。相反,您应该让插件创建一个自定义css文件,该文件可以位于您希望的任何位置,甚至在当前主题的文件夹中。

之前输出信息的唯一方法</body> 标签是通过钩住wp_footer(), 但这并不总是导致内容在</body> 标记,因为主题通常会放置wp_footer() 函数位于DIV标记内,或位于页脚上方。如果您必须在</body> 标记,我将使用jQuery插入它。您可以轻松设置输出的内容或HTMLwp_localize_script().

如果您同意内容/HTML不一定在</body> 标记,然后使用wp_footer() 方法,我建议:

function your_custom_content_function() {
    echo \'this is outputted in the footer\';
}
add_action(\'wp_footer\', \'your_custom_content_function\');

SO网友:mrwweb

您应该始终使用wp_enqueue_script() 要注册和输出javascript,您应该始终使用wp_enqueue_style() 注册并输出CSS。这两个指向codex页面的链接都提供了很好的代码片段示例。确保将函数挂接到正确的操作,因为WordPress 3.3+会在挂接到过早运行的操作时抛出警告。

如果希望CSS优先于主题样式表,则希望将这些样式添加到<head> 在主题样式表之后。如果两个CSS选择器相同,则第二个CSS选择器优先。因为wp_enqueue_styles() 作为的一部分被激发wp_head() 这应该是<head>, 即使主题通过将样式表放在<head>.

wp_enqueue_scripts() 有一个$in\\u footer参数,可用于在文档末尾打印脚本。正如其他地方提到的,你不能保证主题将他们的号召放在哪里wp_footer, 但这几乎是你所能做的。

结束

相关推荐