Action on WordPress Install

时间:2015-04-09 作者:Alex Rothberg

我想用这个https://gist.github.com/davejamesmiller/1966425 当我第一次创建WordPress站点/“安装WordPress”(即完成“5分钟设置”)时启动,但wpmu_new_blog 行动似乎没有被解雇。

是否有一个操作我可以钩住捕捉最初的网站创建/WordPress安装?

我想开始我的新网站与设置插件激活。

初始设置:

3 个回复
SO网友:Mark Kaplun

您可能缺少的主要组件是在安装中删除自定义项。wp内容目录中的php文件。

如果您查看/wp admin/includes/upgrade。php您将能够确切地看到它是如何包含的,以及您可以覆盖的安装函数。我不确定这是否足以抓住您想要使用的钩子,但您可能会找到另一个钩子来“挂起”您的DB修改。

SO网友:s_ha_dum

WordPress安装文件define是一个常量WP_INSTALLING

27    /**
28     * We are installing WordPress.
29     *
30     * @since 1.5.1
31     * @var bool
32     */
33    define( \'WP_INSTALLING\', true );

https://core.trac.wordpress.org/browser/tags/4.1.1/src/wp-admin/install.php#L33

考虑到这一点,我认为你可以采取这样的行动wp_loaded 并检查该常量,如果设置为true,则运行安装代码。

function run_on_install_wpse_183768() {
  if (defined(WP_INSTALLING) && true == WP_INSTALLING) {
    // your code
  }
}
add_action(\'wp_loaded\',\'run_on_install_wpse_183768\');
这是未经测试的,我相信你可以想象,测试很耗时,但我认为它会起作用。

SO网友:Alex Rothberg

这似乎有效:

function agr_wp_install($user){
...
}
add_action(\'wp_install\', \'agr_wp_install\', 1);

结束