「新しいサイトの追加」ページのソース コードを見ると、WordPress がこの目的のためのフックを提供していないことがわかります。もちろん、自分でフックを追加することも可能ですが、WordPress コアを編集するのは一般的に悪い習慣です。
ただし、送信されてすべての情報が表示されると、ページは関数wpmu_create_blog()を呼び出します。この関数には、アクションと呼ばれるフックがありますwpmu_new_blog
。
do_action( 'wpmu_new_blog', $blog_id, $user_id, $domain, $path, $site_id, $meta );
この時点で、ブログはすでに作成されています。ただし、このアクションにフックしてデータベースに保存することで、フィールドが送信されたかどうかを検出できます。以下をプラグイン ファイル (またはテンプレート) に追加します。
function add_new_blog_field($blog_id, $user_id, $domain, $path, $site_id, $meta) {
// Make sure the user can perform this action and the request came from the correct page.
switch_to_blog($blog_id);
// Use a default value here if the field was not submitted.
$new_field_value = 'default';
if ( !empty($_POST['blog']['new_field']) )
$new_field_value = $_POST['blog']['new_field'];
// save option into the database
update_option( 'new_field', $new_field_value);
restore_current_blog();
}
add_action( 'wpmu_new_blog', 'add_new_blog_field' );
フィールドをページに表示するには、JavaScript のアプローチを使用できます。「新しいサイトの追加」ページのみに JavaScript ファイルを追加し、ページの onLoad フィールドをページの正しい位置に挿入します。'blog[new_field]' という名前の入力フィールドを追加する必要があります。次の JavaScript ファイルを作成します。このファイルが読み込まれると、[新しいサイトの追加] ページに新しいフィールドが追加されます。
(function($) {
$(document).ready(function() {
$('<tr class="form-field form-required"></tr>').append(
$('<th scope="row">New field</th>')
).append(
$('<td></td>').append(
$('<input class="regular-text" type="text" title="New Field" name="blog[new_field]">')
).append(
$('<p>Explanation about your new field</p>')
)
).insertAfter('#wpbody-content table tr:eq(2)');
});
})(jQuery);
あとは、プラグイン ファイルに次のファイルを追加して、このファイルを [新しいサイトの追加] ページに含めるだけです。
// Only add the script for the page site-new.php (the page hook).
add_action( "admin_print_scripts-site-new.php", 'my_admin_scripts' );
function my_admin_scripts() {
wp_register_script('yourScript', plugins_url('js/yourScript.js', __FILE__));
wp_enqueue_script('yourScript');
}
必要に応じて、さらに提案することができます: add_settings_fieldを使用して一般設定ページに入力フィールドを追加し、ユーザーが後で編集できるようにします (おそらく、それがこのフィールドのデフォルト設定である場合のみ)。「このフィールドを後で変更することはできません」というアプローチ。
これがあなたが必要としていた助けであることを願っています。