我想对在我的多站点环境中创建新站点的尝试运行一些自定义验证代码,特别是/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,因此针对该表单的验证非常简单。不过,似乎没有简单的方法可以对从网络仪表板创建的站点进行类似的验证。
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
});
}