在 wordpress 中,有没有一种方法可以将 function/method 挂接到另一个 location/file 中正在 added/registered 的动作

in wordpress, is there a way to hook a function/method to an action thats being being added/registered in a different location/file

对于我的插件,我的目录结构如下:

-My-Plugin
  - My-Plugin.php
  - My-Plugin-actions.php
  - My-Plugin-classes.php
  - My-Plugin-functions.php

这是我的-Plugin.php 文件包含的内容:

<?php
  require_once( WP_PLUGIN_DIR . '/My-Plugin/My-Plugin-actions.php' );
  require_once( WP_PLUGIN_DIR . '/My-Plugin/My-Plugin-classes.php' );
  require_once( WP_PLUGIN_DIR . '/My-Plugin/My-Plugin-functions.php' );
?>

和 My-Plugin-actions.php 包含在 My-Plugin-classes.php 和 My-Plugin-functions.php:

中调用 functions/methods 的操作
<?php
  add_action("action_function","some_function_in_functions_file");
  add_action("action_method","some_method_in_classes_file");
?>

那么我怎样才能调用在不同文件中定义的函数和方法,从它们的动作注册的地方?

PHP 命中每个 require() 行,然后解析您正在引用的文件。但是您首先要加载动作。因此,当 PHP 去执行该代码时,这些函数不存在,因为它还没有到达解析函数文件的行。

因此您需要在调用函数后调用动作文件。