网站建设资讯

NEWS

网站建设资讯

WordPress依赖 WordPress依赖

如何在WordPress上正确加载Javascript和CSS

下面这个例子在 add_action 钩子中使用 init。使用 init 有两个原因,一是因为我们正在注销WordPress默认的jQuery库,然后加载谷歌的jQuery库;二是确保在WordPress的头部就加载脚本和CSS。

创新互联公司专注于青海网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供青海营销型网站建设,青海网站制作、青海网页设计、青海网站官网定制、微信小程序服务,打造青海网络公司原创品牌,更为您提供青海网站排名全网营销落地服务。

使用if ( !is_admin() )是为了确保这些脚本和css只在前端加载,不会再后台管理界面加载。

/** Google jQuery Library, Custom jQuery and CSS Files */

function myScripts() {

wp_register_script( 'google', '' );

wp_register_script( 'default', get_template_directory_uri() . '/jquery.js' );

wp_register_style( 'default', get_template_directory_uri() . '/style.css' );

if ( !is_admin() ) { /** Load Scripts and Style on Website Only */

wp_deregister_script( 'jquery' );

wp_enqueue_script( 'google' );

wp_enqueue_script( 'default' );

wp_enqueue_style( 'default' );

}

}

add_action( 'init', 'myScripts' );

加载WP默认 jQuery 库和主题自定义的脚本、样式

第3行:使用 array(‘jquery’) 是为了告诉 WordPress 这个 jquery.js 是依赖WordPress 的jQuery库文件,从而使 jquery.js 在WordPress jQuery库文件后加载。

/** Add Custom jQuery and CSS files to a Theme */

function myScripts() {

wp_register_script( 'default', get_template_directory_uri() . '/jquery.js', array('jquery'), '' );

wp_register_style( 'default', get_template_directory_uri() . '/style.css' );

if ( !is_admin() ) { /** Load Scripts and Style on Website Only */

wp_enqueue_script( 'default' );

wp_enqueue_style( 'default' );

}

}

add_action( 'init', 'myScripts' );

加载 print.css 到你的WordPress主题

第 3 行:最后的 ‘print’是媒体屏幕调用,确保 print.css 在网站的打印机中的文件加载时才加载。

/** Adding a Print Stylesheet to a Theme */

function myPrintCss() {

wp_register_style( 'print', get_template_directory_uri() . '/print.css', '', '', 'print' );

if ( !is_admin() ) { /** Load Scripts and Style on Website Only */

wp_enqueue_style( 'print' );

}

}

add_action( 'init', 'myPrintCss' );

使用 wp_enqueue_scripts 替换 init

如果你要在文章或页面加载唯一的脚本,那就应该使用 wp_enqueue_scripts 替换 init。使用 wp_enqueue_scripts 仅仅只会在前台加载脚本和CSS,不会在后台管理界面加载,所以没必要使用 !is_admin() 判断。

使用 is_single() 只在文章加载脚本或CSS

第 3 行的 # 替换为文章的ID就可以让脚本和css只加载到那篇文章。当然,如果直接使用 is_single() (不填ID),就会在所有文章加载脚本和CSS。

/** Adding Scripts To A Unique Post */

function myScripts() {

if ( is_single(#) ) { /** Load Scripts and Style on Posts Only */

/** Add jQuery and/or CSS Enqueue */

}

}

add_action( 'wp_enqueue_scripts', 'myScripts' );

使用 is_page() 只在页面加载脚本或CSS

第 3 行的 # 替换为页面的ID就可以让脚本和css只加载到那个页面。当然,如果直接使用 is_single() (不填ID),就会在所有页面加载脚本和CSS。

/** Adding Scripts To A Unique Page */

function myScripts() {

if ( is_page(#) ) { /** Load Scripts and Style on Pages Only */

/** Add jQuery and/or CSS Enqueue */

}

}

add_action( 'wp_enqueue_scripts', 'myScripts' );

使用 admin_enqueue_scripts 加载脚本到后台

这个例子将在整个后台管理界面加载脚本和CSS。这个方法不推荐用在插件上,除非插件重建了整个后台管理区。

第 10 行使用 admin_enqueue_scripts 替换了 init 或 wp_enqueue_scripts

第 5、6 行,如果你要自定义后台管理区,你可以需要禁用默认的WordPress CSS调用。

/** Adding Scripts To The WordPress Admin Area Only */

function myAdminScripts() {

wp_register_script( 'default', get_template_directory_uri() . '/jquery.js', array('jquery'), '' );

wp_enqueue_script( 'default' );

//wp_deregister_style( 'ie' ); /** removes ie stylesheet */

//wp_deregister_style( 'colors' ); /** disables default css */

wp_register_style( 'default', get_template_directory_uri() . '/style.css', array(), '', 'all' );

wp_enqueue_style( 'default' );

}

add_action( 'admin_enqueue_scripts', 'myAdminScripts' );

加载脚本和CSS到WordPress登录界面

第 6 行:我无法弄清楚如何在在登录页面注册/排序 CSS文件,所以这行手动添加样式表。

第 10-14行:用来移除WordPress默认的样式表。

/** Adding Scripts To The WordPress Login Page */

function myLoginScripts() {

wp_register_script( 'default', get_template_directory_uri() . '/jquery.js', array('jquery'), '' );

wp_enqueue_script( 'default' );

?

link rel='stylesheet' id='default-css' href='?php echo get_template_directory_uri() . '/style.css';?' type='text/css' media='all' /

?php }

add_action( 'login_enqueue_scripts', 'myLoginScripts' );

/** Deregister the login css files */

function removeScripts() {

wp_deregister_style( 'wp-admin' );

wp_deregister_style( 'colors-fresh' );

}

add_action( 'login_init', 'removeScripts' );

将 jQuery 库移动到页脚

你不能将WordPress默认的jQuery 库移动到页面底部,但是你可以将自定义的jQuery 或其他外部jQuery 库(比如Google的)移动到底部。不要将CSS移动到页面底部。

第 3、4 行:最后的 ‘true’告诉WordPress在页面底部加载这些脚本。

/** Moves jQuery to Footer */

function footerScript() {

wp_register_script('jquery', (""), false, '', true );

wp_register_script( 'default', get_template_directory_uri() . '/jquery.js', false, '', true );

if ( !is_admin() ) { /** Load Scripts and Style on Website Only */

wp_deregister_script( 'jquery' );

wp_enqueue_script( 'jquery' );

wp_enqueue_script( 'default' );

}

}

add_action( 'init', 'footerScript' );

根据不用的用户角色和功能加载jQuery和CSS

如果你的网站有作者、编辑和其他管理员,你可能需要通过 jQuery 来为他们显示不同的信息。你需要使用 current_user_can 确定登录的用户的角色和功能 。

下面三个例子中,如果用户已经登录,将在整个网站加载这些脚本和CSS。使用 !is_admin() 包装 enqueue_script 确保只在前台加载,或者在 add_action 使用 admin_enqueue_scripts 就可以确保只在后台管理区加载。

为可以“编辑文章”的管理员加载脚本和CSS

只对超级管理员和网站管理员生效

/** Add CSS jQuery based on Roles and Capabilities */

function myScripts() {

if ( current_user_can('edit_posts') ) {

/** Add jQuery and/or CSS Enqueue */

}

}

add_action( 'init', 'myScripts' );

为所有登录用户加载脚本和CSS

/** Admins / Authors / Contributors / Subscribers */

function myScripts() {

if ( current_user_can('read') ) {

/** Add jQuery and/or CSS Enqueue */

}

}

add_action( 'init', 'myScripts' );

为管理员以外的已登录用户加载脚本和CSS

/** Disable for Super Admins / Admins enable for Authors / Contributors / Subscribers */

function myScripts() {

if ( current_user_can('read') !current_user_can('edit_users') ) {

/** Add jQuery and/or CSS Enqueue */

}

}

add_action( 'init', 'myScripts' );

最后的提示

上面的很多例子如果使用相同的add_action,就可以被合并成一个单一的函数。

换句话说,您可以使用多个 if 语句在一个函数中分裂了你的脚本和CSS调用,如:if_admin!if_admin,is_page,is_single和current_user_can的,因为每次使用相同的add_action的init。

Wordpress在国内到底能不能用

可以用。

1、wordpress支持中文,最近的更新对中文的支持很好。

2、内核代码不涉及到国别。都是PHP+mysql的结构。

3、轻量级,操作简单,二次开发成本低。

4、国内主题和插件资源丰富,中文主题对谷歌等依赖程度低。

wordpress 4.5版本带来哪些新东西

WordPress 4.5 正式发布,这个版本改进了编辑和定制功能,让你在撰写博客的时候更加方便和顺畅。

实时响应式预览:可以直接在主题定制器上预览在手机,平板和PC上等所有屏幕上的效果。

自定义 Logo:可以直接在主题定制器上设置你公司或者品牌的 Logo,可以在 2016 和 2015 主题上试下该功能。

智能缩图:现在缩图比以前快上50%,并且没有显著地质量丢失。

选择性刷新:现在主题定制框架更加全面,可以无需重新在 JavaScript 中重写 PHP 代码就可以在预览的时候重新部分渲染。

脚本加载程序的改进:更完美支持脚本头部/尾部的依赖,新增的 wp_add_inline_style() 函数允许给注册的脚本添加额外的代码。

更好的嵌入模板:嵌入模板已经按照功能被分成一块一块,并且可以通过模板层次关系经由主题来重写。

JavaScript 库更新:jQuery 1.12.3,jQuery Migrate 1.4.0,Backbone 1.2.3,Underscore 1.8.3。

大概就是这么多了

wordpress 可以用于商业吗

可以的,wordpress虽然是个免费开源的网站程序,但是他有很多资源,如收费的插件和模板。

很多企业网站都是使用wordpress制作的,我自己的网站也使用了wordpress。


文章名称:WordPress依赖 WordPress依赖
路径分享:http://cdweb.net/article/doeedhd.html