WordPress:在子主题中覆盖父主题类功能

2024-03-12

我想重写子主题中的函数,该函数在父主题的类中定义。

这是示例代码:

class A extends B{
   function __construct(){
      $this->add_ajax('sync_post_data', 'need_to_override');
   }
   //other functions
   function need_to_override(){
      //function code
   }

}

附加信息:

B 类扩展了 C 类,C 类是根类,其中add_ajax被定义为。

我尝试过的:

  1. 由于该函数不可插入,因此我无法直接在子主题中覆盖函数。
  2. 其次,我尝试删除 ajax 操作并添加我的自定义操作。它抛出 500 内部服务器错误。

    remove_action( 'wp_ajax_sync_post_data', 'need_to_override' );
    add_action( 'wp_ajax_sync_post_data', 'custom_function' );
    
    function custom_function(){
       //function code with my custom modification
    }
    

有什么帮助请...


您只需两个简单的步骤即可覆盖该类的方法。

就是这样:

  1. 打开子主题functions.php
  2. 像这样创建新类:

    add_action( 'after_setup_theme', function() {
    
    
       class D extends A{
    
          function need_to_override(){
             //original function code with your custom modifications
          }
    
       }
    
       new D();
    });
    

PS:它会起作用,但我不确定这是否是最好的方法!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

WordPress:在子主题中覆盖父主题类功能 的相关文章

随机推荐

  • 如何确保同一服务器上不同用户的 R 环境一致?

    我正在使用内部软件包 MyPKG 编写可重复分析的协议 每个用户将提供自己的输入文件 除了输入之外 分析应在相同的条件下进行 例如 这样我们就可以推断不同的结果是由于不同的输入文件造成的 MyPKG 正在开发中 所以library MyPK
  • 如何在Python中比较两个有序列表?

    我有两个清单 a 0 2 1 b 0 2 1 我如何比较这两个列表以查看它们是否相等 相同 并且约束它们必须位于same order 我看到过一些问题要求通过对两个列表进行排序来进行比较 但在我的具体情况下 我没有检查排序的比较 而是完全相
  • AlertDialog MultiChoiceItems 侦听器问题

    我目前正在使用 AlertDialog builder 为用户创建多选列表 复选框 这非常有效 只是我们希望其中一个按钮取消选择列表中的所有其他按钮 builder setMultiChoiceItems list checked new
  • 如何有条件地替换集合中的值,例如replaceIf(Predicate)?

    有没有什么简单的方法可以替换 a 中的值列表或集合如果该值为空 我们总能做到list stream filter Objects nonNull 也许可以将 0 添加回列表中 但我正在寻找的是一个像这样的APIlist replaceIf
  • 如何将绘图仪表板应用程序导出到 html 独立文件中以与其他人共享?

    我已经构建了一个交互式仪表板 并且正在寻找一种方法将该应用程序导出为 HTML 格式 并与其他人共享 有什么提示给我吗 我用谷歌搜索过 大多数答案将我转到以下链接 https plot ly python getting started w
  • php pack:数据类型问题和结果验证

    我是 PHP 初学者 我的任务是构建命令 稍后将通过 UDP 发送到设备 运行 OSX PHP 5 5 3 8 为了创建二进制数据 我使用 pack 这是我的代码的示例
  • Mercurial 对于简单的 GLOB 语法给出“无效模式”错误

    我的中有以下内容 hgignore file syntax glob obj bin suo user ncb 如果我注释掉 过滤器 过滤效果很好 过滤掉了bin and obj文件夹 但是 如果我保留这些过滤器 我会收到以下错误 abor
  • Spring Boot 2 + Java 9 + Querydsl

    我已成功将我的应用程序 Spring Boot Java Maven 更新到 Spring Boot 2 现在我正在尝试更新到 Java 9 根据 Nicolas Fr nkel 的博客文章 将 Spring Boot 应用程序迁移到 Ja
  • Linux 上 UDP 和 TCP 的内核绕过 - 它涉及什么?

    Per http www solacesystems com blog kernel bypass revving up linux networking http www solacesystems com blog kernel byp
  • 将 docx 转换为 Rmarkdown

    我的工作流程涉及生成包含数据分析的 Microsoft Word 报告 使用 Rmarkdown 然后使用 Word 的标注注释功能对这些报告进行审查和注释 对 Word 文档中的注释进行编辑会更容易 所以这就是我所做的 我现在想将这些更改
  • NHibernate更新参考

    Entities 我们有一个名为 Product 的实体 它是使用 NHibernate 加载的 产品有一个 NHibernate 很乐意为我填充的类别 Database 在数据库中 Product 有一个类别的外键 Scenario 用户
  • Kibana:在表格可视化中连接两个文档

    我有一个数据表可视化 显示具有电子邮件地址和 ID 的文档中的字段 timestamp email field id Feb 5th email protected cdn cgi l email protection xyz123 这些字
  • WPF负载控制问题

    我正在 WPF 中做一些事情 我有一个ComboBox与许多Types 选择具体类型后 我希望能够加载特定的用户控件 有许多文本框等 尊重我的 WPF 窗口上定义区域的类型 怎么做 有没有类似的东西LoadControl 并将其加载到Pla
  • 如何使用 iText 添加 PAdES-LTV

    我正在尝试在没有 LTV 格式的已签名 PDF 文档中启用 LTV 我在链接中描述的所有情况下都找到了相同的示例如何为时间戳签名启用 LTV https developers itextpdf com question how enable
  • Hibernate删除一条记录,但该记录并没有消失?

    编辑 哎呀 我想如果我发布删除代码会有帮助 对不起 delete from permanent store and local list int index get record to delete if entityList getEnt
  • 找不到与 net.tcp 方案匹配的基地址

    我已将文件传输服务从 basicHttpBinding 移至 netTcpBinding 因为我正在尝试设置双工模式通道 我也开始了我的net tcp 端口共享服务 我目前正在开发中 并且在 xp 盒子上自行托管 直到我们移动 应用程序到开
  • 使用 Brave 浏览器的 Puppeteer?

    我想知道是否可以使用 Brave 浏览器而不是基本版本的 chromium 来执行 puppeteer 脚本 我知道 Brave 是从 chromium 开发的 因此您可以使用 Brave 启动 selenium 脚本 但您知道 puppe
  • 查找数组中两个最相似的值 (Java)

    我有一个整数数组 我想找到两个最相似的值 差异最小 例子 如果数组中的值是80 100 500 600 501 505 两个最相似的值是500 and 501 我怎样才能做到这一点 这似乎是个小任务 我们可以这样解决这个问题 1 应用任何有
  • tomcat在关闭之前是否等待应用程序线程完成?

    当我们使用 shutdown sh 脚本关闭 tomcat 时 它是等待应用程序线程完成还是杀死它们并关闭 tomcat Tomcat 尝试终止应用程序线程 但如果失败 则日志中可能会显示如下错误消息 严重 Web 应用程序似乎已启动一个线
  • WordPress:在子主题中覆盖父主题类功能

    我想重写子主题中的函数 该函数在父主题的类中定义 这是示例代码 class A extends B function construct this gt add ajax sync post data need to override ot