【问题标题】:Create a function that can be used anywhere within Wordpress site创建一个可以在 Wordpress 站点中的任何地方使用的函数
【发布时间】:2025-12-10 06:05:02
【问题描述】:

我想在我的插件“membershipintegration.php”中创建一些函数,这些函数可以在我的 Wordpress 网站的任何地方调用。

我认为,如果我创建一个类并在类成员资格集成.php 中定义一个公共函数,我可以在任何我喜欢的地方使用它。

class MembershipIntegration
{
  public function switchmembership () {
  echo 'some code'
  }
}

但是,它似乎不起作用,我在我的沙盒页面上使用了“function_exists”,它说该功能不活跃。

非常感谢任何想法。谢谢。

【问题讨论】:

  • 到目前为止,我最大的努力是删除该类并使该函数只是一个普通函数(不是公共函数),并使用此代码将其包含在我想在其中使用该函数的任何 PHP 文件中. 这似乎有点笨拙,对吧? $path = $_SERVER['DOCUMENT_ROOT']; $path .= "/wp-content/plugins/membershipsintegration/membershipintegration.php"; include_once($path);

标签: php wordpress function class


【解决方案1】:

当插件处于活动状态时,Wordpress 会自动加载您的 membershipintegration.php,然后在此文件或任何其他包含的文件中创建的任何函数都会自动加载并在任何地方可用。

建议是:

创建一个名为functions.php的文件

<?php

function myFunctionOne(){
    //some code
}

然后在你的membershipintegration.php 中使用:

require __DIR__.DIRECTORY_SEPARATOR.'functions.php';

【讨论】:

  • 感谢 rafrsr 的建议。虽然它似乎不起作用!我已经尝试将类/公共函数放在主插件文件和包含的 functions.php 文件中,但我仍然无法在另一个 php 文件中调用该函数。关于我可能做错的任何其他想法。
  • 不要将函数放在类中,否则需要创建静态方法或实例化类,然后才能使用该方法。在文件中创建函数并按原样使用。
【解决方案2】:

在类中没有函数这样的东西。 PHP 类由属性和方法组成。定义用户自定义方法的关键字是function,所以有点混乱。

要访问公共方法,您首先需要该方法的实例。例如:

$s = new MembershipIntegration();

然后就可以访问公共方法了:

$s->switchmembership();

【讨论】:

    【解决方案3】:
     <?php 
            require plugin_dir_path( __FILE__ ) . 'file-name.php';
            new CLassName();
    ?>
    

    将此代码放在您的插件索引文件中,如果您的插件已激活,则可以在任何地方调用它

    【讨论】:

      最近更新 更多