ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2022-09-16 11:01:43  阅读:255  来源: 互联网

标签:函数 footer add dz wp action 报错 glq


一、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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有