本文介绍在wordpress中,如何在特定的页面,添加js或css代码。本文主要采取修改主题function.php文件的方式,而非网上广泛抄袭的添加head自定义代码方式。
部分脚本代码或css样式
有时候,一些代码需要添加到一个指定的页面,而不是全局。这时,可以使用一个wp_footer钩子,再结合is_page进行页面判断,将指定代码写到页面底部。
function custom_script() { if (is_page('page-slug')) { ?> <script type="text/javascript"> console.log('js here'); </script> <?php } } add_action( 'wp_footer', 'custom_script' );
注意,wp-footer钩子比较浅,它的位置在其他js的上面,所以如果你要添加的内容依赖JQuery,则此方法不可行。
JS脚本文件或css样式文件
如果要在一个指定页面中,引用一个指定的脚本文件,可以这么写:
function custom_js() { // child theme: use get_stylesheet_directory_uri() instead of get_template_directory_uri() wp_register_script('scrollTo', get_stylesheet_directory_uri() . '/jquery.scrollTo.min.js', array('bootstrap'), '1.0', true); if (is_page('publications')) { wp_enqueue_script('scrollTo'); } } add_action( 'wp_enqueue_scripts', 'custom_js' );
如果是样式文件,则使用wp_enqueue_style函数。
将脚本添加到最底部或指定脚本下方
代码解释:wp_register_script(‘scrollTo’, get_stylesheet_directory_uri() . ‘/jquery.scrollTo.min.js’, array(‘bootstrap’), ‘1.0’, true);
注册一个名为scrollTo的脚本,它的位置在正使用的主题目录下,文件名为jquery.scrollTo.min.js,这个脚本依赖bootstrap,所以它的位置在bootstrap.js下方。该脚本自定义版本号为1.0,最后一个参数为true意味着添加在footer中。
通过上方提到的依赖特性,我们可以实现将一脚本添加到所有js的最下面,或指定脚本的下面。
wordpress中每个脚本都有一个名字,看页面的html源码即可,如图
id后面去除-js,即为该脚本的名字。所以我们可以通过源码找到某js的名字,然后针对性的在其下方添加自定义js。
其它
页面用is_page()
文章用is_single()
woocommerce的产品页,则用is_product()
相关文档
https://developer.wordpress.org/reference/functions/is_page/
https://developer.wordpress.org/reference/functions/wp_enqueue_script/
https://developer.wordpress.org/reference/functions/wp_enqueue_style/