web-dev-qa-db-ja.com

WordPressのカスタマイズ>エラーページ

ユーザーがテキストだけで空白の画面を表示しないように、WordPress>エラーページテンプレートをカスタマイズする方法はありますか?

私は404について話していませんが、WordPressがエラーを表示したとき。

私のテーマに合わせてこのページのスタイルを変更したいです。

5
plumwd

あなたはおそらくテーマwp_die()について話しているでしょう。これは、テキストの白いボックスがあるグレーのエラーページを生成する関数です。

プラグインソリューションの場合このプラグイン を試してみてください。バージョンのサポートについてはわかりませんが、バージョン3.1.4までしか機能しないと書かれています。

プログラムによる解決策の場合、フィルター「wp_die_handler」にフックする必要があります。だからあなたができる:

add_filter('wp_die_handler', 'my_die_handler');

my_die_handler関数のコードに関しては、デフォルトのdieハンドラーを確認することから開始できます。この関数は_default_wp_die_handlerと呼ばれ、コアファイルの2796行目 /wp-includes/functions.php で始まります。関数全体をプラグインファイル(またはテーマの関数ファイル)にコピーし、名前をmy_die_handlerに変更して、そこからカスタマイズできます。

7
MathSmath

カスタムのダイハンドラを設定できます。

add_filter('wp_die_handler', 'get_custom_die_handler' );

function get_custom_die_handler() {
    return 'custom_die_handler';
}

function custom_die_handler( $message, $title="", $args = array() ) {
    echo '<html><body>';
    echo '<h1>Error:</h1>';
    echo $message; /* No escaping, to match the default behaviour */
    echo '</body></html>';
    die();
}

2つの関数を作成する必要があることに注意してください。カスタムダイハンドラと、カスタムダイハンドラの名前を返す関数の両方です。

_default_wp_die_handlerの内容に何を入れるべきかについてのインスピレーションについてはcustom_die_handlerを見ることができます、あなたはそれを wp-includes/functions.php で見つけることができます。 die();を呼び出すことを忘れないでください。

参照:

1
Flimm