WordPress 4.6

WordPress4.6がリリースされました。

WordPress 4.6 “Pepper”

マイナーアップデートですので、小改善がほとんどを占めています。

4.5からそれほど目新しい新機能や機能変更は見当たりませんが、その中でも私が気になるものについて見ていきます。

利用者向け

利用者向け機能の利便性向上についてはそれほどの変化はないというか、あまり興味をそそりません。

  • アップデートの改良 V2
  • 管理画面でのシステムフォントの使用
  • インポート画面の刷新
  • 国際化の改良
  • エディターの改良
  • 絵文字

 

開発者向け

開発者向けでは少し気になる機能変更がいくつかあります。

HTTP API 内部実装の変更

wp_remote_request() および関連する HTTP API は内部を大きく変更しました。WordPress 固有の HTTP ライブラリーの代わりにオープンソースの独立した Requests ライブラリー を使用します。

ということですが、wp_remote_requestなどのインターフェイスはそのまま残されるため、既存のコードはそのまま動作します。

includes/class-http.phpに定義されているWP_Httpクラスの中でRequestsを利用するようになっています。
このclass-http.phpで証明書も読み込んでいます。
ということは・・・と思いましたが、Let’s Encryptの証明書も含まれていますね。
コンテンツを取得することができました。
今までどうしていたのかは分かりませんが、認証局が追加になったらアップデートされていくのでしょう。

マルチサイト関連機能の追加

WP_Site_Query、WP_Network_Queryという、マルチサイト化されたブログ情報にアクセスするクラスと共にget_sites()、get_networks()という関数が追加されました。
さらなるAPIの充実を望みます。
また、もっと手軽にマルチサイト化や運用ができる機能の充実も図っていただきたいところです。
(※リリースノートの注釈にもありますが、新しく導入されたget_networks()はWP Multi Networkプラグインの同名関数と衝突しています。プラグインを最新版にアップデートしてください。)

 

目新しいものはなくても、今後は4.6がメンテナンスされていきます。
バグフィックスや脆弱性への対応も4.6で行われますので、脆弱性リポートなどに注意してアップデートを実施しましょう。

また、WP Multi Network以外にもプラグインやテーマも4.6への対応が実施されているものがあります。
併せてのアップデートが必要なものもありますのでご注意ください。

[adsense]

【追記】

4.6の不具合/障害情報

4.6に関わらず、現在も大小含めてたくさんのバグフィックスが行われています。
その中から2016/8/28現在で4.6関連でバージョンアップや運用に影響がありそうなものをピックアップしました。
これらの不具合は皆さんのWordPressで必ず発生するものではありません。
私のサイトではいずれも発生していません。
 
注)2016年9月8日にWordPress 4.6.1がリリースされましたので、下記リストをメンテナンスしています。
 

投稿画面などでバックスペースやデリートキーなどを押下するとページが上部にスクロールする

Backspace causes jumping
https://core.trac.wordpress.org/ticket/37690

【回避策】
テスト済みのパッチが提供されています。
しかし、該当箇所に関するテストしか行われていませんので、適用には充分ご注意ください。

以下のファイルはパッチ適用したリソースです。
パッチ適用済みリソース
こちらのテスト環境では正常に投稿が行えましたが、何の保障もありません。
不具合の現象が出ていない環境でしたので、解消されるかも不明です。
お困りの方は現在のファイルをバックアップした上でご利用ください。
・内包しているファイル
wp-admin/js/editor-expand.js
wp-admin/js/editor-expand.min.js
wp-includes/script-loader.php

【根本対応】
4.6.1で修正されました。

 

照合順序に’utf8mb4’を指定していると4.6へのアップデートでデータベースの文字コードが正しく反映されない。

Issues with utf8mb4 collation and the 4.6 update
https://core.trac.wordpress.org/ticket/37689

【回避策】
テーブルの参照順序はutf8mb4_unicode_ciとなっています。
wp-config.phpのdefine(‘DB_CHARSET’, ‘utf8mb4’);をコメントアウトするとサイトは表示されるが、テーブルのデータが正しく変換されていないので根本解決ではない。
【根本対応】
4.6.1で修正されました。

 

WordPressインストール時に
“Warning: Parameter 1 to wp_default_styles() expected to be a reference, value given in /var/www/sitename.com/wp-includes/plugin.php on line 600”
と表示される。

Not working “wp_default_styles” on PHP 7.1.0
https://core.trac.wordpress.org/ticket/37772

【根本対応】
必ずしも4.6だけで発生するものではありません。
その他の不具合も含めてphp7.1は4.7でサポートされる予定です。
WordPress4.7がリリースされるのを待ってphpをバージョンアップしてください。

 

ダッシュボードにログインしようとするとFatal errorになる

以下のエラーが表示される。

Fatal error: Class ‘ArrayIterator’ not found in /XXXXX/wp-includes/Requests/Cookie/Jar.php on line 112

【根本対応】
phpのバージョンを5.3以降に変更するか、spl.soをロードするようにphp.iniに設定する。
WordPress4.6はPHP5.6以上での利用が推奨されています。