wp-config.phpとfunctions.phpのTips

wp-config.phpとfunctions.phpのTips

wp-config.php に追記したり、functions.php に追記するだけで、初期設定が変更できる項目をリストアップした。

前提事項

wp-config.php は、wp-settings.php の読み込み処理よりも上に記載をしないと適用されない。

// これより上に追記すること
require_once(ABSPATH . 'wp-settings.php');

初期設定変更ができる項目一覧

リビジョン機能を無効化したい

リビジョンは自動で保存される。
増える一方なので、データベースを圧迫してしまうため、不要であれば無効化できる。

ファイル名: wp-config.php

define('WP_POST_REVISIONS', false);

リビジョン数を制限したい

リビジョンの数を制限できる。

ファイル名: wp-config.php

define('WP_POST_REVISIONS', 3);

自動保存を無効化する

新規投稿、新規固定ページ作成時、一定時間が経過すると、下書きで自動保存される。
自動保存が不要であれば、無効化できる。

ファイル名: function.php

add_action( 'wp_print_scripts', function () {
    wp_deregister_script('autosave');
});

自動保存時間を変更する

デフォルトは、60秒で自動保存される。

define('AUTOSAVE_INTERVAL', 600); // 600秒 = 60秒 * 10分

ゴミ箱を空にするまでの日数を変更する

ゴミ箱に入っている投稿、固定ページ、添付ファイル、コメントを永久に削除するまでの日数を指定する。

define( 'EMPTY_TRASH_DAYS', 30 ); // 30 日

ゴミ箱機能を無効化する

define('EMPTY_TRASH_DAYS', 0);

※ 「完全に削除する」をクリックしても WordPress は確認ダイアログを表示されない。

画面上にエラーを表示し、デバッグできるようにする

デバッグモードを有効にし、画面にエラーを表示させます。

define('WP_DISABLE_FATAL_ERROR_HANDLER', true);
define('WP_DEBUG', true);
define('WP_DEBUG_DISPLAY', true);

ログファイルにエラーを出力し、デバッグできるようにする

「wp-content/debug.log」にログを出力する。

define( 'WP_DEBUG', true );
if ( WP_DEBUG ) {
    define( 'WP_DEBUG_LOG', true );
    define( 'WP_DEBUG_DISPLAY', false );
    @ini_set( 'display_errors', 0 );
}

注意点① : 自動作成ができないため、666権限で空ファイルを作成しておく。

$ touch wp-content/debug.log
$ chmod 666 wp-content/debug.log

注意点② : .htaccess ファイルに、debug.log へのアクセス制限を追記しておく。

<Files debug.log>
    Order allow,deny
    Deny from all
</Files>

Cookie のドメイン設定を変更したい

cookieのドメインを指定することができる。
サブドメインで運用されているサイトとCookieで情報連携をしたい場合に、有効な設定。

define('COOKIE_DOMAIN', 'www.danroo.com');

PHP の割り当てメモリを増やす

「Allowed memory size of xxxxxx bytes exhausted」 のエラーメッセージを回避する策として、
PHPへの割り当てメモリを増やす案を暫定対応としてよく行う。

.htaccess やphp.iniで設定できるが、wp-config.phpでも設定できるようだ。

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

管理画面のみ、PHP の割り当てメモリを増やす

define('WP_MAX_MEMORY_LIMIT', '256M');

プラグイン、テーマのインストールおよび更新をさせないようにする

脆弱性対応を考えると、使わない方が望ましい。

自らが作成したテーマやプラグインであったり、プラグインのバージョンを固定にしておきたい場合に、プラグインやテーマ画面へのアクセスを制限することができる。

define('DISALLOW_FILE_MODS', true);

存在しないサブドメインまたはサブディレクトリにアクセスされた場合に、リダイレクトする

動作検証ができていない。DNS設定をしなくても良いので利用すると便利かもしれない。

全てのドメイン存在しないサブドメインまたはサブディレクトリにアクセスされた場合 NOBLOGREDIRECT を使用して、ブラウザをリダイレクトできます。

define('NOBLOGREDIRECT', 'http://danroo.com');

define( ‘WP_DISABLE_FATAL_ERROR_HANDLER’, true ); // 5.2 以降
define( ‘WP_DEBUG’, true );
define( ‘WP_DEBUG_DISPLAY’, true );

キャッシュ

動作検証ができていない。CDN や WpSuperCache プラグインよりも有力なのかどうか。

WP_CACHE に true を設定すると wp-settings.php 実行の際に wp-content/advanced-cache.php スクリプトをインクルードします。

define('WP_CACHE', true);

すべての定義済み定数を確認する

PHP には現在定義されている定数とその値を配列にして返す。

print_r(@get_defined_constants());

参考サイト

Web技術カテゴリの最新記事