【问题标题】:Adding functionality to a wordpress plugin向 wordpress 插件添加功能
【发布时间】:2012-08-08 14:14:03
【问题描述】:

这是一个简单的概念问题...如果我有一个 wordpress 插件,并且我想为自己编写一些函数,除了他们已经拥有的功能之外,我会将它们放在 wordpress 文件结构中的什么位置?

我不能将它们放在原始 core.php 文件/目录中,因为它们会在插件更新时被清除,对吧?

@NomikOS - 是的,当然.. 我有一个名为 BP-Phototag 的 wordpress 插件 - 几乎是一张专辑.. 它位于 wp-content/plugins 文件夹中。我想为我的主题文件夹中的特定模板添加我自己的功能。我是把函数放在 wp-conten/plugins 文件夹中的 bpa.core.php 文件中,还是创建一个新的 php 文件来继承 bpa.core.php 函数(我不知道该怎么做)并粘贴它们在 wp-content/themes/mytheme 文件夹下的我的模板特定文件夹中。我真的不知道如何扩展和覆盖它...

【问题讨论】:

  • 你能举个例子吗?
  • 提示添加为 EDIT 1,祝你好运!
  • 您是在扩展插件的功能(这是@NomikOS 向您展示的)还是您正在使用现有功能?许多 WP 插件,甚至是核心 WP,都允许您将自定义功能“挂钩”到现有的 wordpress“操作”中。 “挂钩”将是更多的 WP 方式来做到这一点,但这取决于插件创建者在可用挂钩方面为您提供的内容以及您想要完成的内容。

标签: wordpress


【解决方案1】:

如果插件是基于类的,您可以将其扩展为覆盖/添加方法。如果需要,您可以将包含代码的文件包含在插件目录中(升级后不会删除)或直接包含在 plugins 目录中。

编辑 1

抱歉,我没有看到您的最后一条评论。好吧,我的朋友,是时候学习 OOP PHP5 了。我推荐你PHP 5 objects, patterns, and practice。它适用于 PHP 认真的程序员。

基本上是这样

class leon_my_class extends BP_Phototag_class {

    function __construct()
    {
        parent::__construct();

        // my code
    }

    // overriding protected/public method 
    function BP_Phototag_method()
    {
        // this code will replace original code
    }

    // adding method
    function my_own_method()
    {

    }

}

【讨论】:

  • 漂亮..当你有灰色 cmets 时非常清楚..最后一个问题。如果我使用这个文件,我必须包括原始文件,对吗?这只是顶部的包含吗?
猜你喜欢
  • 1970-01-01
  • 2016-10-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-24
  • 2020-12-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多