您现在的位置是:首页 > cms教程 > WordPress教程WordPress教程
WordPress怎么引入css/js详细介绍
凌瑶2025-03-01 15:18:33WordPress教程已有4人查阅
导读WordPress引入css/js方法很多,条件很多。如何全局加载,或仅在某些页面精准加载,什么时候需要先注册脚本再加载,本文希望找到最简单的方式,并给出探索更多方法的途径。在前台加载
WordPress引入css/js方法很多,条件很多。如何全局加载,或仅在某些页面精准加载,什么时候需要先注册脚本再加载,本文希望找到最简单的方式,并给出探索更多方法的途径。
在前台加载css/js
用wp_enqueue_script()函数加载js,用wp_enqueue_style()加载css,加载资源的位置(action)只有一个--wp_enqueue_scripts。
用wp_enqueue_系列函数可以更好的处理脚本样式表的依赖关系,防止重复加载,以twentyfifteen主题为例。 若仅在某些页面加载,利用WordPress的Conditional Tags即可。什么时需要先注册css/js
即何时需要使用wp_register_script()和wp_register_style()函数。
当css/js很多,并且要分情况加载时,使用wp_register_script()可以更好的管理资源,避免重复劳动。下面的示例代码中,先在init action上把所有需要用到样式表都注册一遍,之后不管想在哪里引入,都可以简单的用wp_enqueue_style( $handle )来加载。 注册脚本时需要运行$wp_scripts->add( $handle, $src, $deps, $ver );,若脚本没有注册直接使用wp_enqueue_script,需要先调用add方法,也就是说重复enqueue一个脚本就会运行多次add方法,降低了程序的效率。在WordPress登录页面加载
将action替换为login_enqueue_scripts即可,例如 如果想了解其它方式,可以仔细阅读wp-login.php。在后台全局加载
同理,将action改为admin_enqueue_scripts 想了解更多方法,请阅读wp-admin/admin-header.php。在后台按需加载
仅用于后台某些页面的资源只在这些页面加载就好,不要到处使用,可以减少不必要的冲突。
1. $hook_suffix
首先我们可以根据admin_enqueue_scripts这个action传递的$hook_suffix参数来判断所处的页面,例如仅在edit.php加载,代码如下 edit.php就是post、page或者custom post type的列表页面,编辑页面是post.php,新建页面是post-new.php,可以在不同页面打印$hook_suffix来了解它的使用方法。但由此也可看出它不能区分现在是在哪种post页面,需要借助更多的全局变量来判断。
2. $typenow
全局变量$typenow可以告诉我们当前的post type,例如仅在post的列表页面加载可以这样来判断 3. get_current_screen()
上述两个全局变量可以区分大多数情况,若区分不了,可以试试使用get_current_screen()函数,该函数返回当前页面的post type、ID、base等信息,只能在admin_init之后使用,具体可以参考官方文档。
4. $pagenow
全局变量$pagenow的返回值与$hook_suffix类似,只是它在前台后台都可以访问,定义的更早,例如前三者在admin_init处没有值,但$pagenow却有。
它定义在wp-includes/vars.php中,该文件还定义了浏览器、服务器全局变量,例如$is_winIE、$is_apache,wp_is_mobile()函数也在这里出现。
上述全局变量和函数能区分大多数情况,但依然有无力的时候,这时可以借助$_REQUEST来判断。上述变量的值也是从$_REQUEST获取,但多一层值是否存在的检查,所以能用它们解决的就不要用$_REQUEST或者$_GET。
在前台加载css/js
用wp_enqueue_script()函数加载js,用wp_enqueue_style()加载css,加载资源的位置(action)只有一个--wp_enqueue_scripts。
用wp_enqueue_系列函数可以更好的处理脚本样式表的依赖关系,防止重复加载,以twentyfifteen主题为例。 若仅在某些页面加载,利用WordPress的Conditional Tags即可。什么时需要先注册css/js
即何时需要使用wp_register_script()和wp_register_style()函数。
当css/js很多,并且要分情况加载时,使用wp_register_script()可以更好的管理资源,避免重复劳动。下面的示例代码中,先在init action上把所有需要用到样式表都注册一遍,之后不管想在哪里引入,都可以简单的用wp_enqueue_style( $handle )来加载。 注册脚本时需要运行$wp_scripts->add( $handle, $src, $deps, $ver );,若脚本没有注册直接使用wp_enqueue_script,需要先调用add方法,也就是说重复enqueue一个脚本就会运行多次add方法,降低了程序的效率。在WordPress登录页面加载
将action替换为login_enqueue_scripts即可,例如 如果想了解其它方式,可以仔细阅读wp-login.php。在后台全局加载
同理,将action改为admin_enqueue_scripts 想了解更多方法,请阅读wp-admin/admin-header.php。在后台按需加载
仅用于后台某些页面的资源只在这些页面加载就好,不要到处使用,可以减少不必要的冲突。
1. $hook_suffix
首先我们可以根据admin_enqueue_scripts这个action传递的$hook_suffix参数来判断所处的页面,例如仅在edit.php加载,代码如下 edit.php就是post、page或者custom post type的列表页面,编辑页面是post.php,新建页面是post-new.php,可以在不同页面打印$hook_suffix来了解它的使用方法。但由此也可看出它不能区分现在是在哪种post页面,需要借助更多的全局变量来判断。
2. $typenow
全局变量$typenow可以告诉我们当前的post type,例如仅在post的列表页面加载可以这样来判断 3. get_current_screen()
上述两个全局变量可以区分大多数情况,若区分不了,可以试试使用get_current_screen()函数,该函数返回当前页面的post type、ID、base等信息,只能在admin_init之后使用,具体可以参考官方文档。
4. $pagenow
全局变量$pagenow的返回值与$hook_suffix类似,只是它在前台后台都可以访问,定义的更早,例如前三者在admin_init处没有值,但$pagenow却有。
它定义在wp-includes/vars.php中,该文件还定义了浏览器、服务器全局变量,例如$is_winIE、$is_apache,wp_is_mobile()函数也在这里出现。
上述全局变量和函数能区分大多数情况,但依然有无力的时候,这时可以借助$_REQUEST来判断。上述变量的值也是从$_REQUEST获取,但多一层值是否存在的检查,所以能用它们解决的就不要用$_REQUEST或者$_GET。
本文标签:
很赞哦! (0)
暂无内容 |
暂无内容 |
相关文章
- PHPCMS中CSS文件存放位置在哪
- 易优CMS标签load文件加载导入外部css样式文件使用方法
- 易优cms网站load资源文件加载如css/js语法和参数介绍
- 易优eyoucms网站后台登录页面错位/乱码CSS文件丢失的解决方法
- PbootCMS网站修改CSS文件的方法
- PbootCMS修改CSS样式后自动更新缓存的方法
- WordPress怎么引入css/js的方法
- pbootcms网站修改CSS样式后自动更新缓存的代码实例
- 两个dedecms分页样式css代码示例
- dede织梦软件列表模板中div css使软件缩略图靠左的修改方法
- dedecms5.6更改默认颜色终极教程附带修改好的CSS表!
- 兼容所有浏览器的CSS3圆角的代码实例
暂无内容 |
暂无内容 |
随机图文
wordpress主题删除的方法有哪些
在使用Wordpress搭建网站时,非常方便的一点就是你可以随时更换你的主题,让网站成为另一种风格,但是因为Wordpress只能使用一款主题wordpress生成app的方法,wordpress怎么生成app
虽然现在大部分的wordpress主题都是 自适应,无论在平板上还是手机上浏览都没有任何的影响。但是就目前访客的习惯或者体验上来讲,一个完整的APP显然更具吸引力。WordPress怎么创建新的数据表
上一篇讲解了怎样将数据保存到数据库,今天为大家讲解创建新的数据表,也就是说当我们激活插件的时候,会在该数据库下面创建一个新的数据表出来。原理很简单centos7系统yum搭建lnmp环境及配置wordpress
yum安装lnmp环境是最方便,最快捷的一种方法。源码编译安装需要花费大量的人类时间,当然源码编译可以个性化配置一些其它功能。目前来说,yum安装基本满足我们搭建web服务器的需求。
留言与评论 (共有 0 条评论) |