对于一些使用WordPress进行外贸建站的商家来说,大部分人会通过在WordPress中添加JS代码和CSS样式表,以增强网站的交互性和观赏性,但对于一些不了解代码知识的商家可谓是天方夜谭,所以本文接下来将为大家讲解WordPress添加JS和CSS样式表的具体教程。
一、WordPress添加JS和CSS样式表的常见错误
许多WordPress插件和主题开发人员都犯了直接将脚本或内联CSS添加到插件和主题中的错误,有些人错误地使用wp_head函数来加载脚本和样式表。
<?php add_action(‘wp_head’, ‘wpb_bad_script’); function wpb_bad_script() { echo ‘jQuery goes here’; } ?> |
虽然上面的代码看起来更容易,但这是在WordPress中添加脚本的错误方式,并且会导致未来更多的冲突。例如如果手动加载jQuery,而另一个插件通过正确的方法加载jQuery,那么jQuery被加载了两次,如果它被加载到每个页面上,那么这将对WordPress的速度和性能产生负面影响。如果这两个版本也可能不同,也可能导致冲突,接下一起来看看添加脚本和样式表的正确方法。
二、为什么在WordPress中启用JS和CSS样式表
WordPress拥有强大的开发者社区,来自世界各地的数千人为WordPress开发主题和插件。为了确保一切正常,WordPress有一个查询系统,该系统提供了一种可编程的方式来加载Javascript和CSS样式表。通过使用wp_enqueue_script和wp_enqueues_style函数,可以告诉WordPress何时加载文件、在哪里加载文件以及它的依赖关系是什么,该系统还允许开发人员利用WordPress附带的内置JavaScript库,而不是多次加载相同的第三方脚本,这减少了页面加载时间,并有助于避免与其他主题和插件的冲突。
三、如何取消WordPress JS队列
在WordPress中正确加载脚本非常容易,下面是一个示例代码,可以将其粘贴到插件文件、主题的functions.php文件或代码片段插件中,以便在WordPress中正确加载脚本。
?php function wpb_adding_scripts() {wp_register_script(‘my_amazing_script’, plugins_url(‘amazing_script.js’, __FILE__), array(‘jquery’),’1.1′, true);wp_enqueue_script(‘my_amazing_script’); }add_action( ‘wp_enqueue_scripts’, ‘wpb_adding_scripts’ ); ?> |
首先通过wp_register_script()函数注册脚本,此函数接受以下5个参数:
1、$handle–handle是脚本的唯一名称,脚本名为“my_amazing_script”。
2、$src–src是脚本的位置,大家通常会使用plugins_url函数来获取插件文件夹的正确url,一旦WordPress找到,它就会在该文件夹中查找文件名amazing_script.js。
3、$deps–deps表示依赖关系,由于脚本使用jQuery,在依赖区域添加了jQuery,如果jQuery尚未加载到网站上,WordPress将自动加载jQuery。
4、$ver–这是脚本的版本号,此参数不是必需的。
5、$in_footer–希望在页脚中加载脚本,因此将值设置为true,如果想在标题中加载脚本,那么可以将其设置为false。
在wp_register_script中提供所有参数后,只需在wp_enqueue_script()中调用脚本,即可完成所有操作,最后一步是使用wp_enqueue_scripts操作钩子来实际加载脚本,由于这是一个示例代码,可以将其添加到其他内容的正下方。如果把它添加到主题或插件中,那么可以把这个动作钩子放在实际需要脚本的地方,这允许减少插件的内存占用,现在有些人可能会想,为什么要先注册脚本,然后再查询它?这样做的好处在于允许其他网站所有者在不修改插件核心代码的情况下注销脚本。
四、在WordPress中启用CSS
就像脚本一样,也可以将样式表排队,看看下面的例子:
<?php function wpb_adding_styles() { wp_register_style(‘my_stylesheet’, plugins_url(‘my-stylesheet.css’, __FILE__)); wp_enqueue_style(‘my_stylesheet’); } add_action( ‘wp_enqueue_scripts’, ‘wpb_adding_styles’ ); ?> |
现在使用wp_enqueue_style添加样式表,而不是使用wp_enquenue_script。
请注意:由于对样式和脚本都使用了wp_enqueue_scripts动作钩子,尽管有这个名字,但这个函数对两者都有效。
在上面的示例中,使用plugins_url函数指向想要排队的脚本或样式的位置,但是如果在主题中使用了enqueue-scripts函数,那么只需使用get_template_directory_uri()即可;如果正在使用子主题,请使用get_stylesheet_directory_uri()。
下面是一个示例代码:
<?php
function wpb_adding_scripts() { add_action( ‘wp_enqueue_scripts’, ‘wpb_adding_scripts’ ); |
推荐阅读: