ネットワーク管理画面のアクセス制限をかけたいサイトの設定で、属性の「アーカイブ化」にチェックを入れるとログイン時しか表示されなくなりますので、これで対応可能ではないでしょうか。
jim912様
アドバイスありがとうございます。
早速設定してみました。
ブログAとBは、ログアウト状態で非表示になりましたが
ttp://ドメイン名.jp のサイトはアーカイブ化設定が無く、
ログアウト時も表示されてしまいます。
また、ログイン状態で制作しているため、ログイン時間も比較的長いので、
(※ローカル環境はただ今構築中です。
やはりアクセス制限をかけられるのであれば、そうしたいと思いました。
引き続き、模索してみます。
アーカイブ化につきまして、
こういう方法もあるのだと、勉強になりました。
有益なアドバイスありがとうございました!
お手軽メンテナンスモード。/.maintenance
を作って下記のコードを書いてください。条件のところは、お好きなように。通常モードへの復帰は、手動でこのファイルを削除です。
<?php
if ((strpos($_SERVER['REQUEST_URI'], '/wp-admin/') === false)
&& (strpos($_SERVER['REQUEST_URI'], 'wp-login.php') === false)) {
foreach ($_COOKIE as $name => $value) {
if (strpos($name, 'wordpress_logged_in_') === false)
$upgrading = time();
}
}
?>
デフォルトの表示が気に入らない場合は、/wp-content/maintenance.php
でカスタマイズ。
kjmtsh様
アドバイスありがとうございます。
大変恐縮ですが、質問させてくださいませ。
3つのサイトをそれぞれ個別に制御したい場合、
/.maintenance ファイルは、どこへ入れればよろしいでしょうか?
1.http://ドメイン名.jp
2.http://ドメイン名.jp/ブログA
3.http://ドメイン名.jp/ブログB
1はメイン直下にインストールしていますが、
そこへ入れると3サイト全てがメンテナンス中になると思うので…
となると、1だけメンテナンス中にしたい場合の入れる場所が分かりません。
2と3は、 wp-content/cache/supercache/ドメイン.jp/→この中に
2つのブログ名フォルダがあるので…その中でしょうか?
※ブログAだけは wp-content/cache/blogs/→この中にもブログAフォルダがあるので
どちらへ入れるべきか悩んでいます。
大変初歩的な質問になってしまい、恐縮ですが
ご返答頂けると助かります。よろしくお願いいたします。
/.maintenance は、定数 ABSPATH で指定されたディレクトリにないと相手にしてくれません。ABSPATH は、普通、wp-config.php で定義されていて、WordPress のインストールディレクトリのはずです。kries さんの場合は、
http://ドメイン名.jp/.maintenance
でしょう。どのスラッグを許可するかは、if の条件部分で制御できます。
if ((strpos($_SERVER['REQUEST_URI'], '/wp-admin/') === false)
&& (strpos($_SERVER['REQUEST_URI'], 'wp-login.php') === false)
&& (strpos($_SERVER['REQUEST_URI'], '/ブログA/') === false)
&& (strpos($_SERVER['REQUEST_URI'], '/ブログB/') === false)) {
...
}
とすると、「ブログA」、「ブログB」を含むスラッグではメンテナンスモードになりません。条件の意味は、
もし
/wp-admin/ を含まない
かつ wp-login.php を含まない
かつ /ブログA/ を含まない
かつ /ブログB/ を含まない
ならば
となります。条件のどれか一つでもマッチすると、全体がスキップされて、メンテナンスモードにはなりません。。本当は、この条件の中にログインチェックを入れたいところですが、コードが長くなるので、手抜きしてます。
もっと細かい制御が必要なら、strpos() ではなく、preg_match() 関数と、正規表現を使うこともできます。サーチエンジンのクローラにはメンテナンスモードのページを拾ってほしくない、みたいな場合ですかね。が、そんなこんなをやっていると、「お手軽」じゃなくなってしまうので、ご自分で研究してみてください。
- ABSPATH の定義 =>
/wp-config.php
- wp_maintenance() の実行 =>
/wp-settings.php
- wp_maintenance() の定義 =>
/wp-includes/load.php
- PHP の動作 => PHP マニュアル
- 条件式の考え方 => 高校1年生の数学の教科書
kjmtsh様
回答ありがとうございました!
分かりやすいご説明に感謝します。
とてもよく理解できました。
まだまだ分からないことも多く、ご迷惑おかけしました。
勉強・研究します!
ありがとうございました。
解決とさせて頂きます。