ワードプレス4.4.1にアップデートしたら「本当に実行していいですか?」という不具合が発生

「本当に実行していいですか?」

先日ワードプレスの本体を3.9.1から4.1.1にアップデートした。ついでにプラグインもすべて更新してやろうと管理画面にログイン後、更新可能なプラグインの「更新」ボタンを押していった。ところが矢印がクルクル回り続けているだけで一向にプラグインの更新が完了しない。

「ワードプレス 更新 本当に実行していいですか?」というキーワードで検索すると、プラグインを停止して原因を調べるという検索結果がでてきた。

ふむふむ、なるほど。というわけで管理画面からプラグインを停止しようとするが「本当に実行していいですか?」というメッセージが表示されてしまう。
これではプラグインを停止できないではないか

管理画面から操作できないのなら、wp-cliを使ってプラグインの停止と削除を試みる。wp-cliをインストール後、すべてのプラグインに「wp plugin deacitivate」と「wp plugin uninstall」を実行。すべて”Success!”のメッセージが表示された。どうやらプラグインの削除はできたようだ。

再び管理画面にログインして、プラグイン一覧を見てみると、なぜか削除したはずのプラグインが全部残っている。これはいったいどういうことだろう。

原因はクッキーだった

以前、管理画面から自動的にログアウトされる、という現象が多発しており、その回避策として管理画面のいずれかのページにアクセスする度にクッキーの有効期限を延長するコードをアクションフックに登録していたのだが、これが原因だった。

add_action('admin_init', 'mytheme_admin_init');

function mytheme_admin_init()
{
    add_filter('auth_cookie_expiration', 'mytheme_auth_cookie_expiration', 10, 3);
    $user = wp_get_current_user();
    wp_set_auth_cookie($user->ID, true);
}

function mytheme_auth_cookie_expiration($expiration, $user_id, $remember)
{
    if ($remember) {
        // 最終アクセスから3時間何もない場合はログインページに飛ぶ。
        $expiration = 10800;
    }
    return $expiration;
}

上記のコードをすべてコメントアウトするとプラグインを無事更新できた。
めでたしめでたし。

サブコンテンツ

このページの先頭へ