wordpress 加载style.css(wordpress添加css)

在 WordPress 的世界中,样式表(style.css)就像是网站的灵魂,它决定了网站的整体风格和布局。WordPress 是如何加载 style.css 文件的?又有哪些因素会影响 style.css 的加载速度呢?今天,我们就来揭秘 WordPress 加载 style.css 的奥秘。

一、WordPress 加载 style.css 的过程

让我们来了解一下 WordPress 加载 style.css 的基本过程。

1. 浏览器请求:当用户访问 WordPress 网站时,浏览器会向服务器发送一个请求,请求加载网站的所有资源,包括 style.css 文件。

2. 服务器响应:服务器接收到请求后,会查找网站根目录下的 style.css 文件,并将其发送给浏览器。

3. 浏览器解析:浏览器接收到 style.css 文件后,会解析其中的 CSS 规则,并将这些规则应用到页面上,从而实现网站的整体样式。

二、影响 style.css 加载速度的因素

style.css 的加载速度对网站的访问速度有着重要的影响。以下是一些可能影响 style.css 加载速度的因素:

序号 因素 说明
1 文件大小 style.css文件越大,加载时间越长。
2 服务器性能 服务器性能越高,响应速度越快。
3 网络环境 用户所在的网络环境越好,加载速度越快。
4 浏览器缓存 如果用户之前访问过该网站,浏览器会从缓存中加载style.css文件,从而提高加载速度。
5代码优化 对style.css文件进行优化,如压缩、合并等,可以减少文件大小,提高加载速度。

三、优化 style.css 的方法

为了提高 style.css 的加载速度,我们可以采取以下几种方法:

1. 压缩文件:使用工具将 style.css 文件进行压缩,减少文件大小。

2. 合并文件:将多个 CSS 文件合并成一个,减少 HTTP 请求次数。

3. 使用CDN:将 style.css 文件部署到 CDN 上,提高加载速度。

4. 利用浏览器缓存:设置合理的缓存策略,让浏览器缓存 style.css 文件。

5. 减少外部引用:尽量避免在 style.css 中引用外部样式表,减少 HTTP 请求次数。

四、实例分析

以下是一个简单的 style.css 文件示例:

“`css

/* 样式表头部 */

@import url(‘https://example.com/style1.css’);

@import url(‘https://example.com/style2.css’);

/* 样式规则 */

body {

background-color: fff;

}

h1 {

color: 333;

}

“`

为了优化这个 style.css 文件,我们可以采取以下措施:

1. 合并文件:将 `@import url(‘https://example.com/style1.css’);` 和 `@import url(‘https://example.com/style2.css’);` 合并成一个文件,减少 HTTP 请求次数。

2. 压缩文件:使用工具将合并后的文件进行压缩,减少文件大小。

3. 利用浏览器缓存:设置合理的缓存策略,让浏览器缓存 style.css 文件。

五、总结

WordPress 加载 style.css 的过程并不复杂,但优化 style.css 的加载速度却是一个值得探讨的话题。通过以上方法,我们可以提高 style.css 的加载速度,从而提升网站的访问速度。希望本文能对您有所帮助。

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

现在许多WordPress网站都开始讲要正确加载 jQuery、Javascript和 CSS到你的WordPress网站。今天来一篇更详细讲解如何使用WordPress官方推荐的方式来加载脚本/ CSS的文章。

有两种常用的 add_action钩子可以加载脚本和CSS到WordPress:

init:确保始终为您的网站头部加载脚本和CSS(如果使用home.php,index.php或一个模板文件),以及其他“前端”文章、页面和模板样式。

wp_enqueue_scripts:“适当”的钩子方法,并不总是有效的,根据你的WordPress设置。

下面的所有例子都在WordPress多站点模式、WordPress 3.4.2通过测试(如果不支持后续版本,请留言告知)

加载外部 jQuery库和主题自定义的脚本、样式

下面这个例子在 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主题,修改头部代码加入JS

第一步:新建header.php

在做主题文件夹wp-content\themes\goodblog下面新建一个头部文件header.php,然后将index.php中的头部代码提取(剪切)出来,写入这个文件:

第二步:修改index.php

保存好头部文件,在index.php的前面加上代码:

get_header()函数会自动载入主题文件夹中的header.php文件,所以头部文件的文件名命名为header.php然后使用get_deader()函数即可;

现在头部文件已经制作好了,接下来的工作就是编辑头部文件header.php将里面的静态html代码换成动态的php代码。

第三步:修改title

需要更改信息,一般我们将title信息改成这样的:文章页面标题|网站名称,当然用户也可以根据自己的seo只是更改,比如有的人在标题中加入网站描述。将header.php中的<title>index</title>改成下面的代码:

上面的代码通过判断将首页、文章页、分类页、404页面的<title>信息设置成不一样的形式,这样是很有必要的。

几个判断函数的解释如下:

第四步:修改css文件的路径

在header.php文件中找到下面代码:

这个样式表的路径./style.css是网站根目录。

如果用户不想让别人轻易看出用户网站是使用 wordprss程序,那么可以改变图片、样式表等文件的路径,比如本工作室,将图片、样式表都移到了网站根目录,在网页代码中就不会出现 wordprss站才有的wp-content/themes之类的路径。好了,将上面的代码改成:

bloginfo('stylesheet_url')会自动输出网站主题文件夹下style.css文件的绝对网址,如

说到这里,顺便修改一下图片路径,在index.php里有张图片路径需要修改,不过现在可改可不改,后期会自动调用文章图片;

用文本编辑器打开index.php给这些图片加上正确的URL,搜索代码,将所有的:src=”images/,批量替换成src=”<?php bloginfo('template_url');?>/images/。现在再刷新你的主页,看文章的缩略图是否可以正常显示。

第五步:关于wp_head()

wp_head函数对于要使用插件的主题来说比较重要,一般如果插件需要加载css文件和js文件,都是通过wp_head()函数输出的。在header.php文件的</head>前面添加:

在去看自己的网站,查看网页源代码,会发现<head></head>标签中多了如下代码:

wordpress代码高亮用什么插件

WordPress有很多的代码高亮插件,但是效果和使用都不是很理想,后来也就找到了一款WP-Syntax的插件,感觉还是非常不错的。

但是由于WP-Syntax插件的默认样式有些怪异,所以可以使用一下css做一个美化

/*wp_syntaxupdate:2016/04/12*/

.wp_syntax{

color:#100;

background-color:#f9f9f9;

border:1pxsolid#EBEBEB;

margin:6px0;

overflow:auto;

}

.wp_syntax{

overflow-x:auto;

overflow-y:hidden;

padding-bottom:expression(this.scrollWidth>this.offsetWidth?15:0);

width:99%;

}

.wp_syntaxtable{

border:none;

border-collapse:collapse;

margin:0;

padding:0;

width:100%!important

}

.wp_syntaxcaption{

padding:2px;

width:100%;

background-color:#def;

text-align:left;

font-family:Monaco;

font-size:13px;

line-height:20px;

}

.wp_syntaxcaptiona{

color:#1982d1;

text-align:left;

font-family:Monaco;

font-size:13px;

line-height:20px;

text-decoration:none;

}

.wp_syntaxcaptiona:hover{

color:#1982d1;

text-decoration:underline;

}

.wp_syntaxdiv,.wp_syntaxtd{

border:none;

text-align:left;

padding:0;

vertical-align:top;

}

.wp_syntaxtd.code{

background:none;

line-height:normal;

white-space:normal;

padding-left:10px;

}

.wp_syntaxpre,.wp_syntaxspan{

background:transparent;

margin:0;

padding:0;

width:auto;

float:none;

clear:none;

overflow:visible;

font-family:Monaco;

font-size:13px;

line-height:26px;

white-space:pre;

font-family:Consolas,Monaco,'MicrosoftYaHei','WenQuanYiMicroHei','LucidaConsole',monospace;

}

.wp_syntaxtd.line_numbers{

width:36px

}

.wp_syntaxtd.line_numberspre{

border-right:3pxsolid#666;

background-color:#E7E5DC;

color:gray;

padding:05px;

text-align:right;

}

你也可以将上面的代码添加到你主题的 style.css文件中,然后在 functions.php中添加下面的代码,取消 WP-Syntax加载的css文件,这样,即使你以后升级了插件,也能保留你自己的样式。

if(has_action('wp_print_styles','wp_syntax_style')){

remove_action('wp_print_styles','wp_syntax_style');

};

这样就非常的好了。

以上代码参考资料:(版权归原作者所有)

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享