如何调用WordPress中尚不存在的函数?

时间:2014-01-14 22:55:14

标签: php wordpress

我有一个主题,其中集成了一个名为Option Tree的插件,用于创建主题选项面板(该插件允许“主题模式”,因此它不作为插件安装)。

Option Tree插件允许您使用此功能访问主题选项中保存的数据:

$data_of_a_single_option = ot_get_option( 'name_of_option_field_to_retrieve', NULL );

我有另一个需要在主题选项中保存数据的插件,但主题(和选项树)是在插件加载后加载的,因此调用该函数会导致“函数不存在”错误。

插件是否可以调用该函数并获取数据并能够将该数据存储在变量中?

我尝试过这样的动作:

function get_special_data() {
    $test = ot_get_option( 'test_field', NULL );
    return $test;
    var_dump( $test );
}
add_action('after_theme_setup', 'get_special_data', 2);

// then just below in same plugin
$data_from_theme = get_special_data();

因为我读到选项树加载了after_Theme_setup,优先级为1。

通过使用add_action,我可以看到数据(var_dump正确输出),但我无法通过调用get_special_data()函数从插件内部获取数据,因为它发送“ot_get_option函数不存在”错误

有没有办法做到这一点?或者我是在尝试解决错误的问题?

提前致谢!

1 个答案:

答案 0 :(得分:0)

我相信您正在寻找plugins_loaded行动。只要插件定义该函数而没有首先加载函数所需的其他操作,这应该可以工作。

此外,在您的代码示例中,$data_from_theme = get_special_data();将在您定义实际触发的操作回调之前执行。