其他分享
首页 > 其他分享> > wordpress高级教程:add_action动作及add_filter过滤器、使用 wp_footer()是报错Invalid argument supplied解决

wordpress高级教程:add_action动作及add_filter过滤器、使用 wp_footer()是报错Invalid argument supplied解决

作者:互联网

一、add_action动作

1、运行dz动作,把所有挂载到这个动作的函数都执行一次

  1.   <?
  2.   //定义sh 说话函数
  3.   function sh(){
  4.   echo '说话<br/>';
  5.   }
  6.    
  7.   //将sh 说话函数 挂载到 dz 动作上
  8.   add_action('dz','sh');
  9.    
  10.   //运行dz动作,把所有挂载到这个动作的函数都执行一次
  11.   do_action('dz');
  12.   ?>

2、add_action 优先级(值1 -10)

  1.   <?
  2.   //定义sh 说话函数
  3.   function sh(){
  4.   echo '说话<br/>';
  5.   }
  6.   //定义zl 走路函数
  7.   function zl(){
  8.   echo '走路<br/>';
  9.   }
  10.    
  11.   //将sh 说话函数 挂载到 dz 动作上,优先级为2
  12.   add_action('dz','sh',2);
  13.   //将zl 走路函数 挂载到 dz 动作上,优先级为1
  14.   add_action('dz','zl',1);
  15.    
  16.   //运行dz动作,把所有挂载到这个动作的函数都执行一次
  17.   do_action('dz');
  18.   ?>

效果:

3、wordpress 内置动作

WordPress 插件 API/Action Reference文档

https://codex.wordpress.org/Plugin_API/Action_Referencehttps://codex.wordpress.org/Plugin_API/Action_Reference

示例:返回顶部插件

(1)参考官方文档

 Template Actions

 (2)页面调用wp_footer()函数

 (3)wp_footer() 函数在/wp-includes/general-template.php文件

 (4) /wp-content/plugins 文件夹下  cj.php

  1.   <?php
  2.   /*
  3.   Plugin Name: 插件A
  4.   Plugin URI: http://www.jxzrj.com/
  5.   Description: 返回页面顶部
  6.   Author: 作者
  7.   Version: 0.0.1
  8.   Author URI: http://www.jxzrj.com/
  9.   */
  10.   function auto_top(){
  11.   echo '<a href="#"><div id="tip" style="width: 40px;
  12.   height: 40px;
  13.   border: 1px solid #FF0000;
  14.   line-height: 40px;
  15.   text-align: center;
  16.   position: fixed;
  17.   right: 10px;bottom:10px">顶部</div></a>';
  18.    
  19.   }
  20.   add_action('wp_footer','auto_top');
  21.   ?>

(5)启动插件,效果

 

 

二、add_filter过滤器

1、过滤器示例

  1.   <?
  2.    
  3.   //缀加函数
  4.   function zj($text){
  5.   return $text.".....";
  6.   }
  7.    
  8.   //将 zj 函数 挂载到 glq 过滤器
  9.   add_filter('glq','zj');
  10.    
  11.    
  12.   //创建glq过滤器,传递过滤的字符串“更多内容”
  13.   echo apply_filters('glq','更多内容');
  14.    
  15.    
  16.   ?>

 2、过滤器 优先级(值越小,越先执行)

  1.   <?
  2.    
  3.   //缀加函数
  4.   function zj($text){
  5.   return $text.".....";
  6.   }
  7.   function zj2($text){
  8.   return $text."!!!";
  9.   }
  10.    
  11.   //将 zj 函数 挂载到 glq 过滤器
  12.   add_filter('glq','zj',2);
  13.   add_filter('glq','zj2',1);
  14.    
  15.    
  16.   //创建glq过滤器,传递过滤的字符串“更多内容”
  17.   echo apply_filters('glq','更多内容');
  18.    
  19.    
  20.   ?>

 3、wordpress 内置过滤器

WordPress 插件 API/Filter Reference文档

https://codex.wordpress.org/Plugin_API/Filter_Referencehttps://codex.wordpress.org/Plugin_API/Filter_Reference

Database Reads

示例:内容前添加字符串

(1)模板中使用 the_content()

 (2)the_content() 函数位于 /wp-includes/post-template.php

(3) /wp-content/plugins/ 文件夹

  1.   function add_lt($content){
  2.   return "lt 说:".$content;
  3.   }
  4.   // 将 add_lt 挂载到 the_content 过滤器上
  5.   add_filter('the_content','add_lt');

 (4)启动插件

 

 

 三、使用 wp_footer()是报错Invalid argument supplied解决

错误提示:

Warning: Invalid argument supplied for foreach() in /www/wwwroot/hbjxzzn/wp-includes/script-loader.php on line 2781

解决方法:

 

 

标签:函数,footer,add,dz,wp,action,报错,glq
来源: https://www.cnblogs.com/shineen/p/16699080.html