如何在多站点上创建新站点以进行验证之前运行代码

时间:2013-12-27 作者:MadtownLems

我想对在我的多站点环境中创建新站点的尝试运行一些自定义验证代码,特别是/wp admin/network/site new。php页面。我已经探索了新网站。,并找到了零个do\\u action()实例,唯一的过滤器是子目录\\u reserved\\u名称。

我想我可以编写一些过于通用的代码,在每个admin\\u init上运行,检查这是否是站点新页面,查看是否设置了$\\u POST[\'action\']并等于“site new”,验证nonce,等等。。。但这似乎不是最好/合适的方式。

在创建新网站之前,有没有关于如何添加自定义验证代码的建议?

请注意,当用户使用面向公众的注册表单时,可以使用挂钩wpmu\\u validate\\u blog\\u signup,因此针对该表单的验证非常简单。不过,似乎没有简单的方法可以对从网络仪表板创建的站点进行类似的验证。

1 个回复
SO网友:fuxia

在之前做某事wpmu_create_blog() 打电话似乎确实很难。不知道我是否错过了什么…

你可以参与行动check_admin_referer 并打印您自己的错误消息:

if ( is_network_admin()
    && isset ( $_REQUEST[ \'action\' ] )
    && \'add-site\' === $_REQUEST[ \'action\' ] )
{
    add_action( \'check_admin_referer\', function( $action )
    {
        if ( \'add-blog\' !== $action )
            return;

        die( \'Nope.\' );

        // inspect $_POST, do something.
        // Change $_POST[\'blog\'] to get the best matching error message
    });
}

结束

相关推荐

Copy Root Multisite Site

我在WordPress中创建了一个多站点安装,位于example.com 网站位于example.com/site1, example.com/site2 等是否可以创建example.com 在example.com/site3?Blog Copier 和NS cloner 由于某种原因,不允许您创建根站点的副本。这背后的技术限制是什么?