Как запустить код до создания нового сайта на MultiSite для проверки

Я хотел бы запустить некоторый код проверки подлинности при попытках создать новые сайты в моей среде MultiSite, особенно на странице /wp-admin/network/site-new.php. Я исследовал site-new.php и нашел нулевые экземпляры do_action (), и единственный фильтр – для subdirectory_reserved_names.

Я предполагаю, что я мог бы написать некоторый чрезмерно общий код, который работает на чем-то вроде каждого admin_init, проверьте, является ли это новой страницей сайта, посмотрите, установлено ли значение $ _POST ['action'] и равно «site-new», проверьте nonce и т. д., но это действительно не похоже, что это может быть лучшим / правильным способом.

Любые предложения о том, как добавить свой собственный код проверки, прежде чем новый сайт будет создан?

Обратите внимание, что hook wpmu_validate_blog_signup доступен, когда пользователи используют открытую форму регистрации, поэтому проверка на THAT-форму довольно проста. Похоже, что нет простого способа сделать аналогичную проверку для сайтов, созданных на информационной панели Network.

Solutions Collecting From Web of "Как запустить код до создания нового сайта на MultiSite для проверки"

Выполнение чего-либо перед 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 }); }