WordPressのwp-config.phpで出来る事いろいろ

Ads

自分用メモ。wp-config.phpの設定
で出来る事のリストです。よくある
カスタマイズは、テーマファイル内
にコードを書きますが、wp-config
で出来る事を知っておくのもとても
大事ですね。

普段あまり利用しないので覚えてないし、困ったときはいちいち探してるので時間をロスしないようにメモしておきます。

スニペットのメモリストですし、細かい解説は面倒なんでしません。また、「wp-configってなんだろう?」という方には全くお役に立てないと思います。

wp-config.phpで出来る事リスト

以下リストです。古いバージョンの事は視野に入れてません。

リストはCODEXのwp-config.phpの編集から抜粋しています。

※変更前にバックアップして下さい
※自己責任でお願いします
※コード一覧は記事最下部に有ります

01. デバッグモードにする

define('WP_DEBUG', true);

エラーを確認出来る。真っ白な画面になったら。

パラメーター付きのURLのみデバッグモードにするには

if ( isset($_GET['debug']) && $_GET['debug'] == 'debug')
  define('WP_DEBUG', true);

と書く事で以下のパラメーターを加えたURLにアクセスした時のみエラーを確認できるようになる。

http://www.example.com/foo.html?debug=debug

via:catswhocode

02. JavaScriptの連結を無効化

define('CONCATENATE_SCRIPTS', false);

2.8リリースの時に一回お世話になりました。アップグレードしたら管理画面のレイアウトが崩れた、という場合は上記コードで古いネットワークキャッシュを削除

03. クエリの履歴を保存する

define('SAVEQUERIES', true);

これもデバッグ時に。trueにしておくと実行されたクエリの配列が実行にかかった時間も一緒に格納される。取り出す際は下記のコードをテーマファイルに含める

if (current_user_can('administrator')){
    global $wpdb;
    echo "<pre>";
    print_r($wpdb->queries);
    echo "</pre>";
}

04. 非圧縮ファイルを読ませる

define('SCRIPT_DEBUG', true);

WPは通常圧縮されたCSSやJSを読みこむ。上記コードを追加する事で、圧縮ファイルを無視して非圧縮ファイル(wp-adminやwp-includesフォルダ内の/js/***.dev.js)を読むようになる

05. ログイン・管理画面のアクセスを強制SSLにする

define('FORCE_SSL_ADMIN', true);

タイトル通り。

06. ログインを強制SSLにする

define('FORCE_SSL_LOGIN', true);

管理画面をSSLにしたら動作が重くなりすぎた、という場合はログインのみSSLにする事で対処

07. PHPへ割り当てるメモリを増加

define('WP_MEMORY_LIMIT', '96M');

Allowed memory size~みたいなエラーの際はこれで解決できそう

08. Cookieドメインを設定

define('COOKIE_DOMAIN', 'example.com');

タイトル通り。以下CODEXより引用。

WordPress Cookie がサブドメイン内の静的コンテンツへのリクエストの度に送信されるのを防ぐには、Cookieドメインを非静的ドメインのみに指定します。

09. 「プラグインの編集」や「テーマの編集」を無効化

define('DISALLOW_FILE_EDIT',true);

日本のCODEXには記載されてません。外観→テーマ編集項目や、プラグイン→プラグイン編集項目が非表示になり、/theme-editor.php等にもアクセス不可になる。

10. プラグインやテーマのアップグレードを無効化

define('DISALLOW_FILE_MODS',true);

日本のCODEXには記載されてません。管理画面からアップグレード不可能にする。ただし、メッセージは表示され、以下のように変更される。

WordPress *** が利用可能です ! 更新してください。
        ↓
WordPress *** が利用可能です ! サイト管理者に連絡してください。

11. 言語を変更する

define('WPLANG', 'ja');

moファイルの定義。上記は日本語に設定したい場合。BITNAMIなどのパッケージインストールタイプをローカルで利用している場合はこのコードで日本語化できる。

12. wp-contentのディレクトリを移動

define( 'WP_CONTENT_DIR', $_SERVER['DOCUMENT_ROOT'] . '/foo/wp-content' );

↑ $_SERVERを使用した相対パスの場合

define( 'WP_CONTENT_URL', 'http://example.com/foo/wp-content');

↑ 絶対パスの場合

13. 記事の自動保存の間隔を調整

define('AUTOSAVE_INTERVAL', 160 );

自動保存のデフォルトタイムは60秒なので、頻繁すぎて困るなら間隔を伸ばしてあげる

14. リビジョンを調整する

define('WP_POST_REVISIONS', false );

↑ リビジョンの機能を無効化

define('WP_POST_REVISIONS', 3);

↑ 保存する数を指定する。上記は3つまで保存。

15. ゴミ箱機能の調整

define('EMPTY_TRASH_DAYS', 0 );

↑ 機能を無効化する。確認無しで削除となるので注意

define('EMPTY_TRASH_DAYS', 10 );

↑ 保存期間を指定する

16. マルチサイト化を有効にする

define('WP_ALLOW_MULTISITE', true);

メニュー→ツール内に「ネットワークの設定」が出現する。

17. 予約投稿が上手く行かない時のCron代替策

define('ALTERNATE_WP_CRON', true);

不安定になるらしいのでイザと言うときのみに。

18. 外部からの要求をブロックする

define('WP_HTTP_BLOCK_EXTERNAL', true);

外部からの要求をシャットアウトする。また、以下のコードでホワイトリストを作成出来る

define('WP_ACCESSIBLE_HOSTS', 'example.com');

一覧

これはただの一覧化ですので、丸々コピペしないようにしてください。

define('WP_DEBUG', true); //デバッグモード
define('CONCATENATE_SCRIPTS', false); //JavaScriptの連結を無効化
define('SAVEQUERIES', true); //クエリの履歴を配列に含めて保存
define('SCRIPT_DEBUG', true); //非圧縮ファイルを読ませる
define('FORCE_SSL_ADMIN', true); //ログイン・管理画面のアクセスを強制SSLにする
define('FORCE_SSL_LOGIN', true); //ログインを強制SSLにする
define('WP_MEMORY_LIMIT', '96M'); //PHPへ割り当てるメモリを増加
define('COOKIE_DOMAIN', 'example.com'); //Cookieドメインを設定
define('DISALLOW_FILE_EDIT',true); //「プラグインの編集」や「テーマの編集」を無効化
define('DISALLOW_FILE_MODS',true); //プラグインやテーマのアップグレードを無効化
define('WPLANG', 'ja'); //言語を変更する
define( 'WP_CONTENT_DIR', $_SERVER['DOCUMENT_ROOT'] . '/foo/wp-content' ); //wp-contentのディレクトリを移動
define( 'WP_CONTENT_URL', 'http://example.com/foo/wp-content'); //wp-contentのディレクトリを移動(フルパスVer.)
define('AUTOSAVE_INTERVAL', 160 ); //記事の自動保存の間隔を調整
define('WP_POST_REVISIONS', false ); //リビジョンの機能を無効化
define('WP_POST_REVISIONS', 3); //保存するリビジョンの数を指定
define('EMPTY_TRASH_DAYS', 0 ); //ゴミ箱機能を無効化
define('EMPTY_TRASH_DAYS', 10 ); //ゴミ箱内の保存期間を指定
define('WP_ALLOW_MULTISITE', true); //マルチサイト化を許可
define('ALTERNATE_WP_CRON', true); //リダイレクトさせるCron代替法
define('WP_HTTP_BLOCK_EXTERNAL', true); //外部からの要求をブロック
define('WP_ACCESSIBLE_HOSTS', 'example.com'); //ブロックしないホワイトリストの作成

以上です。お前これはねーよ、っていう箇所があったら教えてくださると嬉しいです。他にもいろいろありますが、気になるようならCODEX確認して下さい。

wp-config.php の編集