wordpress CMS主题 微信
  • 全部教程
  • Home > wordpress CMS主题制作 > 通过wordpress勾子给wordpressCMS主题添加动作

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

    高时银博客 wordpress CMS主题制作 点击: 1,432 次 0 1

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

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

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

    以上这些勾子动作都是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("运动","游泳")。当然,这只是一假设,在实际运用中不能用中文的。

    ssmay主题

    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
    版权所有 © 转载时必须以链接形式注明作者和原始出处!

    目前还没有评论。赶快来坐沙发吧。

    发表评论