在 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 去执行该代码时,这些函数不存在,因为它还没有到达解析函数文件的行。
因此您需要在调用函数后调用动作文件。
对于我的插件,我的目录结构如下:
-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 去执行该代码时,这些函数不存在,因为它还没有到达解析函数文件的行。
因此您需要在调用函数后调用动作文件。