虽然wordpress新版的编辑器对代码加入稍微有了改革,但个人还是不喜欢,也不好看。
还是继续用enlighter插件,enlighter可以在后台设置只在需要的地方加载脚本js。
可是依旧会在网站首页就加载一个css文件:EnlighterJS.min.css
首页根本就用不到好吗,那就禁止EnlighterJS.min.css加载,或者只让它在文章页面才加载。
//只在文章页面加载 add_action( 'wp_enqueue_scripts', 'enlighter_enqueue_styles', 99 ); function enlighter_enqueue_styles() { wp_dequeue_style('enlighter-local'); if(is_single()){ wp_enqueue_style( 'enlighter-local', plugins_url( 'enlighter/resources/EnlighterJS.min.css' ), array(), 'all' ); } }
说明:
先通过在enlighter文件夹里面搜索“wp_enqueue_style”,看看enlighter对应的css句柄。
看见对应的出来个enqueueStyle,但这是这个插件默认的css函数,我们需要找到EnlighterJS.min.css。
就通过“enqueueStyle”来搜索:
现在就找到对应的:enlighter-local
需要用到enlighter-local,来操作。
if(is_single()):表示判断是否文章页面
plugins_url:表示从插件读取路径
wp_enqueue_scripts:用钩子来加载文件,保障兼容性
wp_dequeue_style:先禁止加载这个css
wp_enqueue_style:判断之后再来加载这个css
至于enlighter_enqueue_styles这个,纯属是为了对应这个enlighter这个文件,方便我以后好记,不乱删文件。
当然也可以用更简单的代码:
//如果这个能读取句柄就直接用这个就行 add_action( 'wp_enqueue_scripts', 'enlighter_enqueue_styles', 99 ); function enlighter_enqueue_styles() { wp_dequeue_style('enlighter-local'); if(is_single()){ wp_enqueue_style( 'enlighter-local'); } }
如果要完全禁止某个js或者css加载:
//完全禁止加载 function my_deregister_styles() { wp_deregister_style( 'enlighter-local' ); } add_action( 'wp_print_styles', 'my_deregister_styles', 100 );
wp_deregister_style:取消注册css
wp_deregister_script:取消注册移除js
具体代码根据自己的主题,插件改就行了。
之后会写一篇wordpress常用页面判断和钩子等。
如果是js就搜:wp_enqueue_script(加载),移除就用:wp_dequeue_script
比如:
add_action( 'wp_enqueue_scripts', 'enlighter_enqueue_scripts', 99 ); function enlighter_enqueue_scripts() { wp_dequeue_script('enlighter-local'); if(is_single()){ wp_enqueue_scripts( 'enlighter-local' ); } }
当然还有更简单的,用到init来判断,但是有可能造成不兼容
只在文章页面加载js:
//如果不是文章页面就不注册这个js add_action( 'wp_print_scripts', 'my_deregister_javascript', 100 ); function my_deregister_javascript() { if ( !is_single() ) { wp_deregister_script( '插件js句柄' ); } }
只在文章和页面加载css:
//如果不是文章页和页面就取消注册这个css add_action( 'wp_print_styles', 'wp_css', 100 ); function wp_css() { if ( !is_single() || !is_page() ) { wp_deregister_style( 'wp-int-css' ); } }
具体用什么钩子,结合自己主题插件来,有的可能不兼容。尽量先取消,然后到某地方了再加载。
官方说明: