新規のネットワークインストールから始める場合、最初のステップはwp-config.php
ファイルに1行追加された単一サイトインストールです。
define( 'WP_ALLOW_MULTISITE', true );
その後、Tools > Network Setup
に行き、ネットワーク名やスーパー管理者のメールアドレスなどの詳細を入力し、最後にボタンを押してセットアップを実行します。
ポップアップが表示される次のステップは、実際には2つのステップです。
wp-config.php
ファイルに additional 定数を追加します。
define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', true );
define( 'DOMAIN_CURRENT_SITE', 'example.com' );
define( 'PATH_CURRENT_SITE', '/' );
define( 'SITE_ID_CURRENT_SITE', true );
define( 'BLOG_ID_CURRENT_SITE', true );
.htaccess
ファイルにいくつかの規則を追加してください。私はシングルサイトインストールをしないので(もう理由はありません)、これらの定数をwp-config.php
ファイルに動的に追加したいと思います。
define( 'WP_ALLOW_MULTISITE', true );
if ( SOME_CHECK_IF_STEP-1_WAS_PASSED )
{
define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', true );
define( 'DOMAIN_CURRENT_SITE', 'example.com' );
define( 'PATH_CURRENT_SITE', '/' );
define( 'SITE_ID_CURRENT_SITE', true );
define( 'BLOG_ID_CURRENT_SITE', true );
}
そのため、毎回wp-config.php
にアクセスして編集する必要はありません。
私の頭に浮かんだ 1st の事は{$wpdb->prefix}sitemeta
テーブルのためにDBをチェックすることでした、しかし私は各サイト負荷で追加のクエリをしたくないです。私が考えていた 2nd は、blogs.dir
が既に存在するかどうかをチェックすることでしたが、そうではありません。
質問: /大きなオーバーヘッドがない、またはパフォーマンスが低下しないように、ネットワーク設定の最初のステップをすでにパスしたことを示すにはどうすればよいですか。
私はこれをテストしていませんが、もしあなたがそのような解決策を見つける必要があるなら、私はおそらく上記のif ( SOME_CHECK_IF_STEP-1_WAS_PASSED )
条件にスクリプトを追加することによって以下の方法でそれをやろうとするでしょう:
{$wpdb->prefix}sitemeta
テーブルを確認してください。wp-config.php
を書き換えます - > trueを返します。WP cronジョブは、チェックを完全に排除するためにwp-config.php
を書き換えます。
このようにして、ネットワークがセットアップされてcronジョブがその魔法を働かせるまで、追加のDB要求があるだけです。
これは努力の価値があることを確認してください、しかし...;)