WordPress的Action加载顺序

  categories:资料  tags:  author:

写WordPress代码时需要不停的与hooks(actions and filters)打交道,filter就像茶壶的过滤嘴,茶壶在哪它就在哪,顺序问题不那么重要。而action是一种行为,比如掀起壶盖和盖上壶盖之间 就可以放一个action,在这个action里可以放茶叶,不掀起壶盖是不可以放茶叶的,所以actions执行的顺序很重要。

 

钩子Hooks

钩子是让一段代码与另一段代码做交互的方法。它们是插件、主题与WordPress内核做交互的基础,当然WordPress内核里也广泛使用了。

钩子有两种:Actions和Filters。使用它们,你必须写一个回调函数,然后将它注册到WordPress关联到特定action或filter。

Filters让你可以在WordPress运行的时候修改一段数据的值。传入给回调函数的变量修改后被返回。它们是独立工作的,不会影响到函数外部的东西。

Actions则相反,允许你增加或修改WordPress的运行。回调函数会运行在WordPress运行到特定点的时候,可以做一些任务,比如:输出显示给用户、插入数据到数据库。

WordPress提供了许多钩子供你使用,你也可以自定义一些供其他开发者来修改你的插件或主题。

 

Actions

Actions钩子提供了函数一种方法可以让其他函数挂靠上来,然后额外的代码就可以在WordPress内核、插件、主题运行到特定点的时候执行了。

它们通过调用add_action()函数来工作,传入两个参数:你要挂靠的钩子名称、要运行的回调函数。比如:

<?php add_action( ‘init’, ‘do_some_stuff’ ); ?>

以上语句中,自定义do_some_stuff()函数会在WordPress运行init操作的时候被调用。

可以去代码参考的hook部分查看更多可用的action。如你经验丰富,对WordPress内核十分熟悉,可以直接去源代码里找合适的action。

示例

如果你想为Loop修改MySQL查询语句,你可以挂靠到pre_get_posts操作上。比如,你可以将指定CPT包含到搜索中:

<?php
function search_filter( $query ) {
    if ( ! is_admin() 
阅读全文

WordPress中wp_enqueue_script加载JavaScript

  categories:资料  tags:  author:

在 WordPress 中加载 JavaScript 最好使用 wp_enqueue_script() 函数以减少问题提高效率

WordPress 本身以及主题和插件通常需要加载一些 JavaScript 来实现某些特殊功能。为了最大限度地保证兼容性,不至于出现 JavaScript 失效的情况,所以一般在页头加载 JavaScript 文件。但是根据 Yahoo 开发者论坛的建议,加载 JavaScript 应该尽量在页尾以提高页面的显示(响应、渲染)速度。本文根据作者的使用经验介绍几个相关插件,并说明如何在某些特殊页面仍然在页头加载 JavaScript。

 

下面先简单介绍几个相关的优化 JavaScript 的 WordPress 插件及特点,然后演示如何处理一些特殊情况。

一. 优化JavaScript的WordPress插件

我曾经用过 WP Minify、Autoptimize、JavaScript to Footer这三个插件,下面一一介绍其特点。

1. WP Minify

这个插件将 Minify 引擎整合到 WordPress

阅读全文

介绍几个JS和CSS压缩合并插件

  categories:资料  tags:  author:

由于添加各种功能的代码和 wordpress插件 ,会导致JS和CSS增多,影响了wordpress博客的加载速度。虽然可以用代码来对JS和CSS进行压缩合并,可是对初学者不是那么简单,很容易出错。因此介绍几个JS 和CSS 压缩合并插件,方便初学者进行优化。

Better WordPress Minify

Better WordPress Minify 是将Minify引擎集成到wordpress博客上,一旦被启用,它将合并和压缩所有的 JS 和 CSS 文件,从而降低网页的加载时间。

Better WordPress Minify插件使用很简单。安装并启用插件后,会自动压缩合并你的JS和CSS文件。当然你可以在设置页面中,进行如下更细致的设置。

  • 删除不必要的空格与空行。
  • 合并多个CSS或JavaScript文件。
  • 自动缩小的JS文件。
  • 自动缩小CSS文件。
  • 并提供gzip压缩。
  • 缩小代码bloginfo()样式表?
  • 缩小网址。
  • 缓存目录。

30453013_1

 

 

WordPress插件开发实例教程-版权插件

  categories:wordpress  tags:,   author:

本文记录WordPress插件开发实例过程, 本文以版权显示为例子进行

说明:本教程仅限学习,高手请绕道

开发程序:WordPress 3.9-RC1

使用主题:Twenty Fourteen

在开始之前,需要注意三件事情

I、给插件取一个个性化的名字,越个性化越好,以防和其他插件重名冲突。

II、代码里面,一定要包含注释,不为自己,也要为想修改你代码的别人想想。

III、尽量用最新版的 WordPress 进行开发和测试。

插件名称和插件结构

一般来说,都是在 wp-content\plugins 目录下建立一个文件夹,文件夹名就是插件的名称,我们插件名字为”copyright_plugin”,文件结构如下。

\wp-content\plugins\copyright_plugin下有copyright_plugin.php和readme.txt

这里的 readme.txt 文件中包含了一些插件的介绍,使用说明等信息,主要是提交到 WordPress 官方网站时候用到的,可以参考他们给的模板 http://wordpress.org/extend/plugins/about/readme.txt,另外还有插件截图预览的功能,需要另外添 加图片,但是我们现在是练习,不需要提交到官网,所以暂时先不涉及这些。

插件的核心

总的来说,插件的核心是两个 function,用来添加 Hooks(中文译为钩子)

add_action ($hookname, $callbackfunction)
add_filter ($hookname,$callbackfunction)

这两个方法相当重要,几乎所有的插件都要用到他们。

Actions,我理解就是 wordpress 核心代码预留的一些特殊的切入点,或者说是在执行一些特定事件时候发生,例如文章发布时,或者访客留言时触发。
Filters,应该就是 wordpress

阅读全文

前端jquery的cdn加速节点

  categories:资料  tags:, ,   author:
做前端的朋友们肯定经常接触春哥今天要分享的东西,没错,他就是大名鼎鼎的jQuery。今天春哥技术博客就花点时间总结一下关于jQuery的那些事。jQuery是一个兼容多浏览器的javascript框架,核心理念是write less,do more(写得更少,做得更多)。jQuery在2006年1月由美国人John Resig在纽约的barcamp发布,吸引了来自世界各地的众多JavaScript高手加入,由Dave Methvin率领团队进行开发。如今,jQuery已经成为最流行的javascript框架,在世界前10000个访问最多的网站中,有超过55%在使用jQuery。
jQuery是免费、 开源的,使用MIT许可协议。jQuery的语法设计可以使开发者更加便捷,例如操作文档对象、选择DOM元素、制作动画效果、事件处理、使用Ajax以 及其他功能。除此以外,jQuery提供API让开发者编写插件。其模块化的使用方式使开发者可以很轻松的开发出功能强大的静态或动态网页…..以上内容太官方化,不是我们今天所探讨的主要内容,今天要为大家分享的是大家必须要知道的几个jQuery的cdn加速节点。大家都知道,jQuery虽然强大,但是体积不小,min版经过压缩后最小也要90多kb,如果我们在本地直接加载的话,势必会影响网页的响应速 度,那么我们如何解决这个jQuery加载慢的问题呢?这时我们就要用到cdn加速节点,其实网络上目前有很多jQuery的cdn加速节点,甚至连 jQuery官网也有提供,但是我们最好选择一个距离较近的节点使用,比如我们网站主要是针对国内用户的话,那最好就选择国内的jQuery的cdn加速 节点,如果是面向国外用户那自然是选择国外的jQuery cdn加速节点了….下面我们就来看一下具体有哪些吧,min就是已经压缩处理的意思。

1、谷歌jquery cdn加速点

http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js

http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js

http://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js

2、微软jquery cdn加速点

http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.2.min.js

http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.3.min.js

http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.9.1.min.js

http://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.1.0.min.js

3、新浪jquery cdn加速点

http://lib.sinaapp.com/js/jquery/1.7.2/jquery.min.js

http://lib.sinaapp.com/js/jquery/1.9.0/jquery.min.js

http://lib.sinaapp.com/js/jquery/1.9.0/jquery.js

http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.min.js

http://lib.sinaapp.com/js/jquery/1.9.1/jquery-1.9.1.js

http://lib.sinaapp.com/js/jquery/2.0/jquery.min.js

http://lib.sinaapp.com/js/jquery/2.0/jquery.js

http://lib.sinaapp.com/js/jquery/2.0.1/jquery-2.0.1.min.js

http://lib.sinaapp.com/js/jquery/2.0.1/jquery-2.0.1.js

http://lib.sinaapp.com/js/jquery/2.0.2/jquery-2.0.2.min.js

http://lib.sinaapp.com/js/jquery/2.0.2/jquery-2.0.2.min.map

http://lib.sinaapp.com/js/jquery/2.0.2/jquery-2.0.2.js

http://lib.sinaapp.com/js/jquery/2.0.3/jquery-2.0.3.min.js

http://lib.sinaapp.com/js/jquery/2.0.3/jquery-2.0.3.js

http://lib.sinaapp.com/js/jquery/2.0.3/jquery-2.0.3.min.map

阅读全文

WordPress 优化Title、Description和Keywords

  categories:wordpress  tags:,   author:

不 少童鞋都喜欢安装诸如All in one seo 这样的优化插件,其实,这样的WordPress插件无非就是优化 Title,Meta的Description和Keywords。当然了,有不少免费主题在初期开发的时候,都没有优化Description和 Keywords。

Title 优化

Title 的优化很简单,只要使用下面的代码替换header.php文件中默认的Title调用代码就可以啦:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<title><?php
	global $page, $paged;
	$site_description = get_bloginfo( 'description', 'display' );
 	if ($site_description && ( 
阅读全文

WP2PCS插件——用百度网盘备份媒体资源

  categories:wordpress  tags:,   author:

百度网盘在2012年上线了PCS服务,其实这就相当于开放了API了,而无论是哪个网盘,在开放API后不免会被各大技术宅们进行一番折腾,而今天就给大家推荐来自某民间团队的基于百度网盘的WordPress插件——WP2PCS!

那 么这个插件有什么用呢?这个插件的主要功能就是将网站的数据定时备份到百度网盘,并且将媒体资源托管到百度网盘,至此就不用担心媒体资源的存储问题。而同 时解决的还有水印的问题,因为在以前,中小站长为了保证视频资源加载的速度和稳定性,大多把视频资源上传到优酷,土豆等专业的视频分享网站,而上传到这些 网站虽稳定性和速度有了保证,但也意味着辛辛苦苦做的视频要被打上水印,这使得不少站长都十分郁闷(至少我的好友都这样),好了啦!废话不多说了,下面是 正题时间。

官方网站:点击直达

插件分为个人标准版、开发创意版、企业专业版,而不同版本有不同的针对人群,普通站长的话推荐使用个人标准版,而本篇文件也将使用个人标准版进行使用演示。

本插件的不适合使用的范围:

* 超大型网站

* 开启MULTISITE的多站点网站

* 网站空间剩余不足三分之一

* 没有读写权限或读写权限受限制的空间

* 服务器memory limit, time limit比较小的

* 服务器PHP不支持ZipArchive类

* 服务器主机在外国的,会有网络延迟,或因为某些原因,导致无法使用

插件的使用方法较简单,这里就简单的说一下就好了。

 

首先第一步,获得百度的授权

选择保存在自己的网盘吧! 托管于第三方多少有点不放心啊!然后就是登录百度账号,然后确认授权。而如果你是默认自动登录的话,可能会出现以下提示:

 Fatal error: Call to undefined function wp_log() in 
阅读全文

WordPress插件WP2PCS-SY备份数据到网盘

  categories:wordpress  tags:  author:

WP2PCS-SY是基于WP2PCS插件修改而来,在原版本的基础上取消了外链,另增加了新的功能,并做了完善, 主要功能就是把WordPress和网盘(PCS,个人云存储)连接在一起的插件。它的两项基本功能就是:将wordpress的数据库、文件备份到网盘,以防止由于过失而丢失了网站数据;把网盘作为网站的后备箱,存放图片、附件,解决网站空间不够用的烦恼,这个时候,你可以在网站内直接引用网盘上的文件,并具有防盗链功能。
WP2PCS-SY将你的WordPress定时备份到百度网盘,把百度网盘作为附件存储空间,解决你的网站后顾之忧。(本插件不适合用于大型网站文件的备份,如GB级数据的备份)

WP2PCS官方网站 http://www.wp2pcs.com
WP2PCS-SY官方网站:http://syncyhome.duapp.com

与原版对比修改内容如下:

1、修改了授权模式,采用自有APIkey的时候不会再向第三方网站传输APIkey和 securtkey,直接和百度服务器通信,减少了泄露Securtkey的风险;使用wp2pcs-sy的APIkey的话刷新码也存储在本地 (wp2pcs-sy承诺永不存储用户的refreshtoken和accesstoken),并定期刷新accesstoken,不用再手动刷新 accesstoken;
2、在多媒体下面增加了一个百度网盘的菜单,可以浏览百度网盘中上传目录下的文件,不用再到编辑文章页面才可以浏览到图片等,同时也可以通过此页面上传单个文件;
3、多媒体-百度网盘和编辑文章插入图片的页面显示的图片全部是图片的缩略图(原版本中获取的是完整图片文件),加快了图片的浏览;
4、增加了浏览网盘文件时的排序功能,可按修改时间倒排或顺排、按文件名倒排或顺排;
5、增加了文件名对特殊字符及空格的支持,文件名可支持除PCS规定不能使用的字符外的所有字符;
6、取消了外链功能,采用直链也不存在泄露accesstoken的风险;
7、增加了普通文件、mp3、通用媒体文件的缓存功能;
8、增加了对缓存文件清理的功能;
9、增加了防盗链功能;
10、优化了数据库备份功能,原版本中在BAE上备份很难成功,优化后很少失败;
11、修复了原版本中下载文件失败的bug;
12、优化了在加载下一页图片时失败,导致下一页按钮不可见的问题;
13、所有功能免费开放。

安装方法:

1、把wp2pcs-sy文件夹上传到/wp-content/plugins/目录
2、在后台插件列表中激活它
3、在“插件-WP2PCS-SY”菜单中,点击授权按钮,等待授权跳转在授权过程中,如果你已经登录了百度账号,会直接跳转;如果没有登录百度账号,会要求你登录,登录之后一定要勾选同意授权网盘(PCS)服务,否则无法使用插件中的服务。
4、如果授权成功,你会进入到插件的使用页面。
5、初始化所有信息。
6、如果不能正常访问网盘,点击重新授权按钮重新授权。
7、如果在BAE上备份不成功,可修改wordpress根目录下的wp-cron.php,在文件开头增加语句“set_time_limit(0);”看能否正常备份。

下载地址:

本地下载:http://syncyhome.duapp.com/index.php/dlfile/wp2pcs-sy.zip阅读全文

WordPress 相关文章插件 – Yet Another Related Posts Plugin

  categories:wordpress  tags:  author:

来源:http://www.neoease.com/yet-another-related-posts-plugin/

相关文章在博客中能够引导用户访问更多可能感兴趣的文章, 不仅增加了用户粘度, 对用户体验的提高, 也是 SEO 内链优化的重要一环.

大概两年前吧, 我开始使用 Yet Another Related Posts Plugin (YARPP) 这款相关文章插件, 与其他类似插件比较, 它有很多优点, 也有一些问题, 本文我会介绍一下这些优缺点和提供一些使用建议.

为什么选择 YARPP 相关文章插件?

WordPress 的相关文章插件选择很多, 但做得好的没几个. 我原本用的是另一款插件: WordPress Related Posts.

WordPress Related Posts 的原作者是国内知名博客我爱水煮鱼 (现在已经卖给了一老外开发), 我也贡献过一些代码, 用了好几个年头了,

阅读全文

可保护WordPress网页安全的十个插件

  categories:wordpress  tags:,   author:
来源:http://sec.chinabyte.com/103/12090603.shtml

WordPress无疑是最流行的CMS平台,但是正由于它成为越来越多人的选择,黑客也盯上了这个目标。因此如何确保Wordpress网页的安全是一项重要任务。本文将为大家介绍十个用来增强网页安全性的小插件。

Wp安全扫描

Wp-Security会扫描WordPress安装中是否存在安全漏洞,并纠正用户的不当操作,如密码设置,文件许可,数据库安全,隐藏的版本和WordPress管理员保护/安全。

  Secure WordPress

Secure WordPress是一款非常智能的WordPress插件,它可以确保WordPress漏洞的安全:移除登陆页面的错误信息;向插件目录中添加index.html;移除wp(除管理区域外)。

  Login LockDown

这一插件可通过限制用户在一定时间内,从给定IP范围登陆的次数来保护WordPress。如果限定时间内,同一IP的登陆次数超出许可范围,那么登陆功能就会被禁用。这样可以阻止密码恢复。

  Sabre

Sabre是Simple Anti Bot Registration Engine的首字母缩写。它是一套用于博客的反垃圾注册应对措施。如果你的WordPress网页支持新用户订阅时就可以采用这个插件。

  Bad Behavior

Bad Behavior扮演着看门人的角色,是其他反垃圾链接方案的一个补充。它可以阻止垃圾链接的发送者阅读你的网页。这样你的页面在保持干净的同时还可以有效防止DoS情况的发生。

  用于WordPress的反病毒插件

AntiVirus for WP 是一款有效的智能方案,它能保护博客免受垃圾注入和病毒危害。它还提供每日一邮,来报告恶意文件或可疑文件。

  TAC

主题验证检测器(TAC)可以对每个主题的源文件进行搜索,以查找其中是否包含恶意代码。如果找到恶意代码,TAC会将主题文件的路径,代码行和一小段可疑代码显示出来。

  Stealth Login

这个插件可以让用户创建用于登录,登出,管理和注册WordPress博客的自定义URL链接。用户可以创建便于记忆的URL链接,而不是将登 录链接摆放在主页上。例如,你可以将登录链接设置为http://www.myblog.com/login 来登录网页。你也可以启用Stealth模式,在该模式下,用户不允许直接使用wp-login.php登录。

  reCAPTCHA

reCAPTCHA是一个源自卡内基 · 梅隆大学的反垃圾方法,它通过多种方式使用CAPTCHA。reCAPTCHA使用是不同于自动生成字符的另类方法,因为垃圾信息的注入者可能会使用OCR库来读取自动生成的字符。大家不妨一试。

  AskApache密码保护

这个插件不会控制WordPress或弄乱数据库,相反,它利用快速可靠的内置安全性能为博客添加安全多个安全层级。该插件会经常更新,旨在阻止攻击者利用漏洞攻击网页。

阅读全文



快乐成长 每天进步一点点