web-dev-qa-db-ja.com

マルチサイトネットワークのWordPressに新しいサイトを追加するときのカスタムフィールド

WordPressにはマルチサイトの設定があります。 [管理]> [サイト]> [新規追加]で新しいサイトを作成するときにカスタムフィールドを実装する方法はありますか。私の現在のオプションは、サイトアドレス、サイトタイトル、管理者メールアドレスです。これらの新しいサイトに関連付けるために記入できるフィールドをもう1つ追加します。

3
Mike

すみません、悪い知らせです。

責任あるWPファイル( site-new.php )のためのPHP3.9のコードベースを見ればあなた '残念ながら、これはすべてハードコーディングされていることに気付くでしょう。wp-adminの多くのもののように、私見は完全に吸います。 :-(

あなたができる唯一のことは、サイト作成のためのあなた自身のページを構築して、それをデフォルトのワードプレスのものに置き換えることです。


これを始めるために:

これを行う最も簡単な方法は、 add_menu_page() を使用して独自のカスタム管理メニューページを定義することです。

add_menu_page( 'Add site', 'Add site', 'manage_options', 'cusom-new-site-page', function() {
        // your custom code for this page ...
});

新しいサイトを作成する関数は wpmu_create_blog() ですが、そのロジックについて既存のファイルを調べることもできます。

その後、 add_rewrite_rule() を使って既存のページからあなたのカスタムページに書き換えることができます。書き換え規則は次のようになります。

RewriteRule ^(.*)/wp-admin/network/site-new.php $1/wp-admin/admin.php?page=cusom-new-site-page [L]
2
s1lv3r