web-dev-qa-db-ja.com

メンテナンスモードで立ち往生

functions.phpでこのフックを使って私のサイトをメンテナンスモードにしました、

function activate_maintenance_mode() {
    //If the current user is NOT an 'Administrator' or NOT 'Super Admin' then display Maintenance Page.
    if ( !(current_user_can( 'administrator' ) ||  current_user_can( 'super admin' ))) {
        //Kill WordPress execution and display HTML maintenance message. 
        wp_die('<h1>Sitio en mantenimiento</h1><p>Nuestro sitio esta actualemente en mantenimiento. 
            <br /><strong>Ya volvemos!</strong></p>', 'mantenimiento');
    }
}
//Hooks the 'activate_maintenance_mode' function on to the 'get_header' action.
add_action('get_header', 'activate_maintenance_mode');

そして今、私は通常モードに戻ることはできません。

編集:問題はW3 Total Cacheプラグインにあるはずです。

1
whitenoisedb

W3トータルキャッシュプラグインを使用しているので、HTMLコードはwp-content/cacheフォルダにキャッシュされます。そのため、wp-contentディレクトリからCacheフォルダを削除します。

今すぐactivate_maintenance_mode()関数を削除し、今すぐサイトをチェックしてください...

問題がある場合は、wp-config.phpからW3 total cache constantを削除してブラウザのデータを消去し、サイトを確認してください。

1
Jansha Mohammed

私はコードが間違っていると思う、あなたが言うときあなたは基本的にスーパー管理者のためにWP_dieを使っている:

if ( !(current_user_can( 'administrator' ) ||  current_user_can( 'super admin' )))

正しいコードは

if ( !(current_user_can( 'administrator' ) &&  !(current_user_can( 'super admin' ))))

これを試して教えてください。 Praveen

0
Praveen