WordPress插件:需要在激活插件后立即触发一个函数

时间:2011-02-03 19:28:58

标签: wordpress plugins installation cron

我需要我的插件才能在安装插件后立即运行一个函数。我需要在安装之后运行该函数的原因是因为没有任何钩子工作,直到插件被激活后“我”需要与第三方服务器进行一些额外的安装同步,我需要这些钩子。

到目前为止,我发现没有什么可以做我想要的。从我可以告诉的内容和代码所说的内容来看,只有在有人访问网站后才会触发。这是“不,不”。该插件不能等待一段“随机”的时间。它甚至可能是一个严重的安全风险。

2 个答案:

答案 0 :(得分:0)

您可以使用register_activation_hook吗?

答案 1 :(得分:0)

Thirlan,我有同样的问题。我无法想出一个很好的解决方案,所以我正在做的是插件激活我正在设置update_option然后一旦访问设置页面我正在检查get_option以检查我的 - 时间设置,如果它在那里,我关闭函数和delete_option。现在这不适合你,但是......你可能能够弄清楚如何应用这个过滤器:

http://adambrown.info/p/wp_hooks/hook/install_plugin_complete_actions?version=3.0&file=wp-admin/includes/class-wp-upgrader.php

或者您可以使用我的方法。试试这个:

register_activation_hook(__FILE__, 'initialize_my_function');
function initialize_my_function() {
    add_option('run_my_initialization',"1");
}

add_action('admin_init', 'launch_activation_script');

function launch_activation_script() {
    if (get_option('run_my_initialization') == "1") {
        //Do Your Init Stuff Here
        delete_option('run_my_initialization');
    }
}