WordPress 5.2 をチェックしています

WordPress5.2
WordPress5.2 beta1 が 公開されました。 WordPress5.2は 2019年4月30日 2019年5月7日に リリースされる予定なので いろいろチェックをしています。
その中で WordPress5.2で気がついたところを取り上げていきます。
これから追加・変更はあるかもですので説明や画像キャプチャ等と違う場合がありますのでご容赦ください。

リリースまでのスケジュールは WordPress 5.2 Development Cycle に載っています。

 

サイトヘルスチェック

サイトヘルスチェックツールをが追加されました。ツール → サイトヘルス で サーバーの設定を確認でき、速度とセキュリティを向上させるヒントが得られます。
WordPress5.2 サイトヘルスチェック

 
 

致命的なエラー保護

WordPress5.2 からプログラムのエラーチェックが入り、リカバリし易くなりました。
今までは PHPの記述を間違ったり プラグインどうしでコンクリフトを起こした場合 画面が真っ白(500エラー)になって 直すのには手探り状態になってましたが、エラーが発生した時にメールが管理者に送信されます。
このメールのリンクをクリックしてリカバリーをする事ができます。

【例】my-plugin.php でやらかした場合
WordPress5.2 メール

公開ページは こんな感じで表示されます。
WordPress5.2 500エラー

The Improved Fatal Error Protection
https://make.wordpress.org/core/2019/03/20/the-improved-fatal-error-protection/

 
 

PHPバージョンのチェック

WordPressのPHPの最小バージョン要件が 5.6.20 になりました。
WordPress5.2から PHPバージョンをチェックして ver5.6.20 以上でないと イントールできなくなります。

wp-includes/version.php
WordPress5.2 version.php

試しに php5.6.33 の環境で ここを 7.0.0 に変えてみると
「Your server is running PHP version 5.6.33 but WordPress 5.2-beta1-45077 requires at least 7.0.0.」
とだけ出て使えなくなります。

Minimum PHP Version update Blog — WordPress
https://wordpress.org/news/2019/04/minimum-php-version-update/

 

また、プラグインの方も WordPressの最低バージョンとphpバージョンをチェックして どちらも満たしていないと 有効化できなくなりました。

【テスト】「Requires PHP」を上げてから プラグインを有効化した時
Requires PHP test
【テスト】「Requires at least」を上げてから プラグインを有効化した時
Requires at least test
プラグインでの WordPressの最低バージョンとphpバージョンは プラグインの readme.txtに書かれています。
【例】

=== my-plugin ===
Contributors: nendeb
Tags: my-plugin
Requires at least: 4.7
Tested up to: 5.1
Stable tag: 1.0.0
Requires PHP: 5.6
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

※書かれてない場合は 何でもあり になります。

 
 

Gutenbergブロックエディタ

「Gutenbergプラグイン(ver5.3)」が組み込まれて ブロックエディタも機能が追加されました。

ウィジェットにあったパーツがブロックで使えるようになりました。
「RSS」「検索」「カレンダー」「タグクラウド」
WordPress5.2 追加ブロック

また、使わないブロックを見えなくできるように「ブロックマネージャー」が追加されました。
WordPress5.2 ブロックマネージャー
  ↓
WordPress5.2 ブロックマネージャー
※使わないブロックは チェックを外すと でてこなくなります。

 

【番外】
コアには組み込まれませんでしたが 「Gutenbergプラグイン(ver5.3~)」では 「Legacy Widget(従来のウィジェット)」が試験的に追加されています。
Legacy Widget
これは コア以外の(プラグインやテーマの)ウィジェットをブロックエディタで使えるようにする機能です。
Legacy Widget select

プラグインやテーマの(ウィジェット)制作者は、いちおう動作確認とか管理画面にCSS追加(プレビュー用)..等 しないとになるので チェックしといた方がいいですね。

What’s New in Gutenberg? (20th March) – Make WordPress Core
https://make.wordpress.org/core/2019/03/20/whats-new-in-gutenberg-20th-march/

 
 

Dashicons

ダッシュアイコン(SVGアイコン)が 追加されました。

現時点ではまだ更新されていませんが 新しいアイコンはこちらに掲載されていくと思います。
Developer Resources: Dashicons
https://developer.wordpress.org/resource/dashicons/

Dashicons in WordPress 5.2- Make WordPress Core
https://make.wordpress.org/core/2019/04/11/dashicons-in-wordpress-5-2/

Create new Dashicons (4.9-5.2) – Make WordPress Core
https://core.trac.wordpress.org/ticket/41074

 
 

開発者向けの関数

WordPress5.2ではいろいろな機能やアクションフィルターが追加されています。
そのなかで ぉ! と思ったのを紹介します。

wp_body_open

テーマ用の関数で「wp_body_open」が追加されました。
既にテーマで使っている wp_head() や wp_footer() と同じ位置づけになります。
用途は、<script>タグのようなものをページの本体の中に直接追加できるようにする為だそうです。

設置場所は header.php の bodyタグ直下に設置します。

<body <?php body_class(); ?>>
<?php
/*
 * New wp_body_open Theme Hook
 * @since 5.2.0
 */
if ( function_exists( 'wp_body_open' ) ) {
	wp_body_open();
} else {
	do_action( 'wp_body_open' );
}
?>

デフォルトテーマも標準で設置するようですのでデフォルトテーマが更新されたら確認してみてください。

Addition of new ‘wp_body_open’ hook.
https://make.wordpress.org/themes/2019/03/29/addition-of-new-wp_body_open-hook/

 

get_the_content

get_the_content関数の引数に $post が追加されました。

今までは2つの引数でしたが
get_the_content( $more_link_text, $stripteaser )
第3引数に $post が使えるようになっています。
get_the_content( $more_link_text, $stripteaser, $post )
※$postは 投稿のID、投稿オブジェクトどちらでも使えます。
これにより、loop外でも使えるようになったと思われます。

関数リファレンス/get the content
https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/get_the_content

Changes to post globals setup and usage in get_the_content() and related functions in WordPress 5.2
https://make.wordpress.org/core/2019/05/07/changes-to-post-globals-setup-and-usage-in-get_the_content-and-related-functions-in-wordpress-5-2/
loop外で使う場合は特別な注意を払ってね て書いてます。

 
 

WP Multibyte Patch

毎回 言いますが WordPress5.0から 必須のプラグインで 日本語版パッケージに ついてきた「WP Multibyte Patchプラグイン」は含まれなくなりした。
日本語で使う場合は 必ず インストール → 有効化 してくださいね。

「WordPress 5.0 利用開始前に知っておくべきこと」
https://ja.wordpress.org/2018/11/04/things-to-know-before-using-wordpress-5-0/

WP Multibyte Patch プラグイン
https://ja.wordpress.org/plugins/wp-multibyte-patch/

WP Multibyte Patch – EastCoder;
https://eastcoder.com/code/wp-multibyte-patch/

本家版、日本語版 WordPress のマルチバイト文字の取り扱いに関する不具合の累積的修正と強化を行うプラグインです。英語圏で作られた WordPress を日本語環境で正しく動作させるために必要となる機能を網羅していますので、なんらかの対策を行っていない場合は導入をおすすめします。

 

あとがき

リリース予定が 2019年4月30日 とGWまっただなかに行われるので 気軽にバージョンアップされると なんかあった時、緊急対応をしなくててはいけなくなるかもです。
そんなことが無いように クライアントには伏線をはっといた方がいいかもですね。
【追記】
2019年4月30日 2019年5月7日になりました。
WordPress 5.2リリース候補
https://wordpress.org/news/2019/04/wordpress-5-2-release-candidate/
 
 

バックアップとってね

メジャーアッデートでは必ずバックアップをとるようにしましょう。
ファイルとデータベースのバックアップは必ずとるようにしてください。

【参考】
WordPress のバックアップ – WordPress Codex 日本語版
http://wpdocs.osdn.jp/WordPress_%E3%81%AE%E3%83%90%E3%83%83%E3%82%AF%E3%82%A2%E3%83%83%E3%83%97

BackWPup – WordPress Backup Plugin
https://wordpress.org/plugins/backwpup/

できれば 本番のバックアップから テスト環境 を作って動作テストをする事をお勧めします。