通过wordpress勾子给wordpressCMS主题添加动作

对于wordpressCMS主题开发者来说,了解并掌握wordpress动作勾子,是必不可少的,否则,你开发wordpress主题将会寸步难。可能会说:有那么严重吗?呵呵,这是肯定的。比如:我们前观介绍过网站后台提速问题,因为google字体严重影响wordpress后台打开速,所以我们要禁用google字体,这时就要用到wordpress动作勾子“ init ”。那么,怎样通过wordpress勾子来给wordpress主题添加动作呢?下面一起来看看吧。

先来了解wordpress都有哪些常用勾子:

[v_blue]1、plugins_loaded—–插件勾子,大多数WordPress 文件加载完成之后触发。
2、init—————–在大多数WP都建立之后触发,可以做任何需要的事情了。
3、admin_menu——-在管理员页面加载的时候调用,如添加后台菜单。
4、template_redirect–是WordPress判断用户正在浏览的页面的关键。
5、wp_head———–在wordpress主题调用 wp_head() 函数时,会触发 wp_head 勾子。如一些插件就需要这个勾子,否则不能执行。[/v_blue]

以上这些勾子动作都是wordpress通过do_action()函数来创建的。如wp_head勾子,在wordpress4.2版中,我们可以在wp-includes/general-template.php这个文件的第2200行找到,代码如下:

function wp_head() {
/**
* Print scripts or data in the head tag on the front end.
*
* @since 1.5.0
*/
do_action( 'wp_head' );
}

do_action()函数是为wordpress添加动作的函数,但是没有为这个动作添加具体内容。打个简单比方:do_action(“运动 “),添加了一个动作”运动“,而具体做什么运动,这里没有说明。所以,在wordpress主题制作中,我们通过add_action()函数来为这个 运动添加具体的内容,如给这个动作“运动”添加“游泳”这个内容,add_action(“运动”,”游泳”)。当然,这只是一假设,在实际运用中不能用 中文的。

add_action( $tag, $function_to_add, $priority, $accepted_args );
//$tag 参数必需,动作钩子的名称
//$function_to_add 参数为必需,要执行的函数
//$priority 参数为int(整数),触发优先级。数字越小越先调用
//$accepted_args 参数为int(整数),函数需要的参数个数,默认1;

案例1:

下面我们通过一个实例来演示如何通过add_action()函数在wordpress主题调用勾子添加动作。这个案例,我们以 wp_head 勾子为例,我们要在网页的头部添加一个<meta>信息,代码如下:

add_action("wp_head","add_meta");
function add_meta(){
echo '<meta name="themes" content="ssmaymovie"/>';
}

通过上面这段代码,wordpress网页源码中</head>之前就会添加<meta name=”themes” content=”ssmaymovie”/> 。这个应用很简单,但是很适用,很多插件就是这样来输出css或js代码。

案例2:

上面我们了解了,do_action()是用来创建“动作”的,add_action()是用来为这个“动作”添加内容的。这里我们就用do_action()和add_action()来为wordpress主题添加动作。这里,我们用到优先级和参数。

$ssmay_1 = '这里是高时银博客';
$ssmay_2 = 'wordpress教程';
$ssmay_3 = '我们提供主题定制服务';
do_action('ssmay',$ssmay_1,$ssmay_2,$ssmay_3);

function wanlimm_1($a1,$a2){
echo $a1.'<br />'.$a2;
}
function wanlimm_2($a1,$a2,$a3){
echo $a1.$a2.$a3.'<br />';
}
add_action('ssmay','wanlimm_1',10,2);
add_action('ssmay','wanlimm_2',1,3);

上面这段代码,我们通过do_action()创建了一个名为”ssmay“的动作勾子。

然后,我们添加了2个函数”wanlimm_1″和”wanlimm_2“。wanlimm_1有2个参数,wanlimm_2有3个参数。

接着,我们用add_action()把这2个函数添加到动作” ssmay “中。因为wanlimm_1是2个参数,所以,添加时add_action()最后一个参数是 2 ;而添加wanlimm_2时,因为wanlimm_2是3个参数,所以,添加时,add_action()最后一个参数是 3 。因为wanlimm_2调用时的优先级是 1 ,而wanlimm_1调用时优先级是10,所以,wanlimm_2比wanlimm_1先执行。

好了,如何通过wordpress动作勾子为wordpress主题添加动作,我们就介绍到这里,这里介绍得还是比较详细的,而且浅显易懂,相信看遍介绍,你一定能了解并掌握这方面内容。

原文:http://wanlimm.com/77201507034569.html

未经允许不得转载:窗外天空 » 通过wordpress勾子给wordpressCMS主题添加动作

赞 (0)

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址