2018年12月8日土曜日

【解決方法】【予防方法】Wordpress 5 にバージョンアップしてしまい大困惑しているあなたに

昨夜、知り合いの同業若旦那より「Wordpress5扱いました?」との電話があり。昨日はWPを扱う作業をしてなかったのでWP5リリースに気づかなかったのだが、彼曰く「あれ、ヤバいっす」とのこと。今までのUIとかになれている人は、戸惑うメジャーバージョンアップとのこと。

そんな内容だったので、夜中、復活したファイプロイズム(WP)を人柱的にバージョンアップしたところ、「これ、ヤバいわ」。
ダッシュボードとかは変わってないように見えるのだが、記事投稿画面がほぼ丸ごと変わってる感じ。今までの画面構成になれていた人にとっては大変使いづらくなり、カンパニーサイト系を手掛けている人にとっては慣れるまでいろいろ困惑しそうな状態になると思われる。
イメージとしては、Micro Office2000辺りのWordを使っている人が急に2018とかを使ってしまい、どのメニューに何があるのか、そもそもあのメニューはどこにあるのかを探すだけで疲れるという、あの状況が昨日からWPにやってきている感じなのである。

twitterでも大困惑のツイートであふれかえっており、うっかり自動アップデートとか掛かって大困惑する月曜がやってくることが考えられるので、一応メモ代わりに

プラグイン「Classic Editor」を導入する

一番手っ取り早いのはコレ。公式サイトからプラグイン「Classic Editor」がリリースされており、画面をバージョンアップ前の"クラシック画面"にすることが可能。「プラグイン」>「新規追加」からインストールし有効化。

有効化したら、「設定」>「投稿設定」へ。デフォルトで使用するエディターを選択。これは新規記事立ち上げた時のデフォルトエディタの指定かと思われる。既存記事については以下を参照。
管理権限を持たないユーザー権限のクライアントに渡す場合は、個人的にはその下の「ユーザーに切り替えの許可」を「与えない」にしていた方がいい気もする。

記事一覧ではこんな感じに。記事ごとに「現在使用しているエディタ」の表記が追加されている。記事タイトルクリックすると、その表記のエディタで開くことになる。「ブロックエディター」が今回WP5が採用している新しい入力管理画面のスタイル。
マウスオーバーで表示するサブメニューにエディター選択(ブロック、Classic)が出てくるので、「ブロックエディター」の記事をClassicで開けばよい。次回からはClassicで開くことになる。

クラシックで開くとこんな感じ。ちなみに、当方はあまりビジュアルモードは使わない人なので、ユーザー設定でそのあたりの設定は外している。ビジュアルモードを使うともっとめんどくさそう。

ちなみにWP5のブロックエディタだとこんな感じに。タグを入力したら改行のbrタグが抜けるのがまず個人的にはイヤイヤの境地。ビジュアル+HTMLモードって感じか?それはそれで邪魔くさいなあ・・・

サイドメニューでも切り替えることが可能。

【予防策】自動更新、自動告知からの勝手なバージョンアップを止める

WPの設定次第では、自動更新が勝手にかかったり、クライアントが勝手にしちゃったりすることも。
セキュリティ上バージョンアップは悪ではないが、まだ安定しているとは言えないメジャーバージョンアップ一発目、しかも見かけがごろっと変わる今回、管理者的には頃合いを見計らって掛けたいところ。
なのでwp-config.phpに以下の行を書き入れる。

▼開発版、マイナーアップグレード、メジャーアップグレードすべて無効化させる場合。

define( 'WP_AUTO_UPDATE_CORE', false );

▼マイナーアップグレードのみ有効化、開発版、メジャーアップグレードは無効化させる場合。

define( 'WP_AUTO_UPDATE_CORE', minor );

ちなみに、プラグイン通知はfunction.phpに書き込むことになる。

▼プラグインのバージョンアップを無効化。

add_filter( 'auto_update_plugin', '__return_false' );

ただ、ダッシュボードに表示されるバージョンアップ通知をクライアントが押してしまう可能性もあるわけで。何ならバージョンアップ通知を止めちゃおうというならば、以下の内容をfunction.phoに。

▼バージョンアップ通知を非表示

function update_nag_hide() {
    remove_action( 'admin_notices', 'update_nag', 3 );
}
add_action( 'admin_init', 'update_nag_hide' );

しかし、これだとバージョンアップがかかったかどうかも分からないので、管理権限を持つ人のみ表示、それ以外は表示しない、ということにするならば以下の通りに。

▼バージョンアップ通知を非表示

add_filter( 'pre_site_transient_update_core', '__return_zero' );
remove_action( 'wp_version_check', 'wp_version_check' );
remove_action( 'admin_init', '_maybe_update_core' );

0 件のコメント:

コメントを投稿