WordPress5.7 RC1 が 公開されました。 WordPress5.7 は 2021年3月9日に リリースされる予定なので いろいろチェックをしています。
その中の WordPress5.7 で気がついたところを取り上げていきます。
これから追加・変更があるかもですので、説明や画像等がリリース時と違う場合もありますが随時チェックしていく予定です。
リリースまでのスケジュールは WordPress 5.7 Development Cycle に載っています。
WordPress 5.7 RC1 https://wordpress.org/news/2021/02/wordpress-5-7-release-candidate/
WordPress 5.7 RC2 https://wordpress.org/news/2021/03/wordpress-5-7-release-candidate-2/
WordPress 5.7 RC3 https://make.wordpress.org/core/2021/03/05/wordpress-5-7-release-candidate-3/
WordPress 5.7 「Esperanza」 https://wordpress.org/news/2021/03/esperanza/
Gutenbergブロックエディタ
WordPress5.6では「Gutenbergプラグインver9.2」でしたが WordPress5.7では「Gutenbergプラグイン(ver9.9)」が組み込まれました。
Gutenbergの過去のバージョンの記事を見る事で 何が変更して追加されたか を見る事ができます。
グーテンベルクの新機能 ver9.6
グーテンベルクの新機能 ver9.8
グーテンベルクの新機能 ver9.7
グーテンベルクの新機能 ver9.6
グーテンベルクの新機能 ver9.5
グーテンベルクの新機能 ver9.4
グーテンベルクの新機能 ver9.3
投稿へのブロックとブロックパターンの追加方法が1つ増えました。
インサーター(左のブロック一覧)からドラッグアンドドロップで直接 設置したい場所にブロックやブロックパターンを置けるようになりました。
【参考】Core Editor Improvement: Drag & Drop Blocks and Patterns from the Inserter
https://make.wordpress.org/core/2021/01/08/core-editor-improvement-drag-drop-blocks-and-patterns-from-the-inserter/
ブロック追加ボタン
投稿内ブロックとブロック間などで挿入可能箇所に出てくる「+」ボタンにバーが付いて 少しわかりやすくなりました。
フルハイトアライメント
カバーブロックに、1クリックで高さをビューポート全体にするボタンがつきました。
クリックすると高さが「100vh」になります。
スペーサーブロック
スペーサーブロックを使ってる部分が半透明の背景になり、識別しやすくなりました。
例えば背景色によってはスペーサーブロックをアクティブにしてもわかりにくかったのでしたが、簡単に識別できるようになります。
画像ブロック
画像ブロックでは文字を入れれるようになりました。と 言っても 文字を入力する「A」ボタンを押すとカバーブロックに替わるだけです。
標準ではキャプションが入ります。
ボタンブロック
ボタンの幅をパーセンテージ幅で設定できるようになりました。
また、ボタンブロックは垂直方向の配置をサポートするようになりました。
ソーシャルアイコンブロック
ソーシャルアイコンブロックのアイコンのサイズを変更できるようになりました。
また、アイコンの色を変更できるようになりましたが個別ではなく全体一括になります。。
フォントサイズのサポート
ListブロックとCodeブロックでフォントサイズを変更できるようになりました。
リストブロック
コードブロック
パディングコントロール
カバーブロックに padding を設定できる機能が追加されました。
テキスト部分の表示幅等を調整するのに役立ちます。
ただし、パディングコントロールを利用する場合は、テーマ側でサポートを宣言する必要があります。
add_theme_support( 'custom-spacing' );
※以前は「add_theme_support(‘experimental-custom-spacing’)」でした。
【参考】Block Editor: port custom-spacing theme support
https://core.trac.wordpress.org/ticket/51760
プリファレンスの再設計
環境設定のUXが変更され、わかりやすくなりました。
スポンサードリンク
http から https(SSL) への移行が簡単になりました
今まで http(非SSL) で運用していたサイトを https(SSL) にするには結構めんどくさかったりしてましたが、サイトヘルスに「HTTPSステータスチェック」が追加され、「HTTPSステータスチェック」から簡単にhttps(SSL)化できるようになりました。
サーバー側でサイト自体をhttps(SSL)が使えるようにした状態から
WordPressの管理画面にログイン後、ツール→サイトヘルス を開き HTTPS項目の「Update youre site to use HTTPS」をクリックします。
これで WordPress側はhttps(SSL) 対応するようになりました。
一般設定の WordPressアドレス(URL)とサイトアドレス(URL)が https に変わっています。
過去の投稿記事内の imgタグ では 管理画面では http のままですが
公開画面では https に変換されて表示されています。
これは wp_replace_insecure_home_url関数が追加され、以下のフィルターが追加されたおかげです。
add_filter( ‘the_content’, ‘wp_replace_insecure_home_url’ );
add_filter( ‘the_excerpt’, ‘wp_replace_insecure_home_url’ );
add_filter( ‘widget_text_content’, ‘wp_replace_insecure_home_url’ );
add_filter( ‘wp_get_custom_css’, ‘wp_replace_insecure_home_url’ );
これで「Search Regex」などで置換作業をしなくても 公開時に 自動で http→ https に変換されて表示されますので過去の投稿はそのままでも大丈夫です。たぶん
【参考】WordPress 5.7 Will Make It Easier to Migrate From HTTP to HTTPS | WordPress Tavern
https://wptavern.com/wordpress-5-7-will-make-it-easier-to-migrate-from-http-to-https
【参考】Improved HTTPS detection and migration in WordPress 5.7
https://make.wordpress.org/core/2021/02/22/improved-https-detection-and-migration-in-wordpress-5-7/
【参考】Search Regex
https://ja.wordpress.org/plugins/search-regex/
ユーザー権限一括変更の項目追加
ユーザー一覧の一括変更で「権限グルーブを変更」のオプションに「権限なし」が追加されました。
・・今まで無かったんだ。
【参考】Missing option to change multiple users to “No role for this site”
https://core.trac.wordpress.org/ticket/52238
管理者がユーザーに「パスワードのリセット」リンクを送信
管理者がユーザーに「パスワードのリセット」リンクを 1クリックでメール送信できるようになりました。
ユーザー一覧ページでは 各ユーザーの「ローアクション」か「一括操作」で送信できます。
ユーザー編集ページでは「パスワードのリセット」でできます。
ユーザーへ送られるメールは、いつものこんなのなので、送られたユーザーは ??? てなりそうです。
【参考】Allow admins to send users a ‘Reset Password’ link
https://core.trac.wordpress.org/ticket/34281
【参考】Send reset password links in WordPress 5.7
https://make.wordpress.org/core/2021/02/22/send-reset-password-links-in-wordpress-5-7/
「パスワードのリセット」画面
パスワードのリセット画面のUXが変更されました。
左がWordPress5.6まで、右がWordPress5.7からのになります。
「Generate Password」で候補のパスワードを変更して「Save Password」で決定するというやり方になります。
ちょっと気になったのはパスワードの文字が大きいのか文字数が多すぎてテキストボックスから見切れてるところです。ユーザーはパスワードのコピー(控え)ミスしそうですね。
【参考】Reset Password Page UX
https://core.trac.wordpress.org/ticket/39638
【参考】Login & registration screens changes in WordPress 5.7
https://make.wordpress.org/core/2021/02/16/login-registration-screens-changes-in-wordpress-5-7/
iframeの遅延読み込み
WordPress 5.5で画像の遅延読み込み(loading=”lazy”)がつくようになり、続いてiframeも遅延読み込み(loading=”lazy”)がつくようになりました。
【参考】Lazy-loading iframes in 5.7
https://make.wordpress.org/core/2021/02/19/lazy-loading-iframes-in-5-7/
フルサイト編集(FSE)
WordPress5.6 の時に延期になって 今回WordPress5.7でフルサイト編集(FSE)機能が実装される予定でしたが、どうやらWordPress5.8に再延期になったようです。
WordPress Roadmap Update: Full-Site Editing Targeted for 5.8 Release in June 2021 | WordPress Tavern
https://wptavern.com/wordpress-roadmap-update-full-site-editing-targeted-for-5-8-release-in-june-2021
フルサイト編集(FSE)てどんなの? て興味がある方は FSE専用の「TT1 Blocks テーマ」「Q テーマ」等がありますので試してみてはいかがでしょうか。
Gutenbergプラグインをインストールしたら使えるようになります。
【参考】TT1 Blocks | WordPress Themes
https://wordpress.org/themes/tt1-blocks/
※TT1 Blocks は デフォルトテーマTwenty Twenty-One の FSE版になります。
【参考】Q: First FSE WordPress Theme Now Live | WordPress Tavern
https://wptavern.com/q-first-fse-wordpress-theme-now-live
【参考】FSE テストのやり方
https://ja.wordpress.org/team/handbook/test/full-site-editing-outreach-experiment/how-to-test-fse/
また、Make WordPress.org TestチームではFSEプログラムのテスターを募集していますのでフィードバックしてみたらいかがでしょうか。
【参考】FSEプログラムのテスター募集 #2: サイト編集ブロックでホームページを構築する
https://ja.wordpress.org/team/2021/02/19/1790/
jQueryバージョンの更新
WordPress5.5からjQuery関連が変わっています。
jQuery変更は影響が大きいらしいので WordPress5.5~5.7までで段階的に様子を見ながら変更していくようです。
WordPress | jQuery本体 | jQuery Migrate | jQuery UI |
WordPress 5.4 | ver1.12 | ver1.4 | ver1.11 |
WordPress 5.5 | ver1.12 | 無し | ver1.11 |
WordPress 5.6 | ver3.5 | ver3.3 | ver1.12 |
WordPress 5.7 | ver3.5 | 無し | 1.12 |
【参考】Updating jQuery version shipped with WordPress
https://make.wordpress.org/core/2020/06/29/updating-jquery-version-shipped-with-wordpress/
WordPress5.6~で 一時的に以前のjQueryのバージョンを使いたい場合は以下のプラグインで以前のjQueryに戻す事ができます。
※ver1.2.0以降のを使ってください。
※管理画面 ツール → jQuery Migrate で「レガシー1.12.4-wp」を選択してください。
スポンサードリンク
開発者向け
WordPress5.7ではいろいろな機能やアクションフィルターが追加されています。
そのなかで ぉ! と思ったのを紹介します。
has_post_parent
親投稿を取得する get_parent_post関数も追加されました。
あわせて 投稿に親があるかどうかを判断する has_post_parent関数 が追加されました。
【参考】New conditional tags for child/parent pages
https://core.trac.wordpress.org/ticket/33045
【参考】Introducing new Post Parent related functions in WordPress 5.7
https://make.wordpress.org/core/2021/02/10/introducing-new-post-parent-related-functions-in-wordpress-5-7/
pre_months_dropdown_query
投稿一覧の絞り込み条件の日付にフィルターがつきました。
大量の投稿記事がある場合、日付抽出 の所で遅くなるようですので、このフィルターを使って決め打ちすると改善されるようです。
【参考】Adding a filter to WP_List_Table::months_dropdown() to allow overriding the list of months displayed
https://core.trac.wordpress.org/ticket/51660
render_block
render_blockフィルターに 特定のブロックのコンテンツのみをフィルタリングする動的フックが追加されました。
wp-includes/class-wp-block.php
/** * Filters the content of a single block. * * The dynamic portion of the hook name, `$name`, refers to * the block name, e.g. "core/paragraph". * * @since 5.7.0 * * @param string $block_content The block content about to be appended. * @param array $block The full block, including name and attributes. */ $block_content = apply_filters( "render_block_{$this->name}", $block_content, $this->parsed_block );
【参考】Add a dynamic hook to filter the content of a single block.
https://core.trac.wordpress.org/ticket/46187
【参考】WordPress 5.7: A new dynamic hook to filter the content of a single block
https://make.wordpress.org/core/2021/02/18/wordpress-5-7-a-new-dynamic-hook-to-filter-the-content-of-a-single-block/
Robots filters
画像のサムネイルが検索結果に表示されるように「max-image-preview」が追加されました。
つまり ヘッダに
<meta name='robots' content='max-image-preview:large' />
が付くようになりました。
不要な場合は以下のコードで無効にする事ができます。
remove_filter( 'wp_robots', 'wp_robots_max_image_preview_large' );
【参考】Enhancing image preview: core proposal
https://make.wordpress.org/core/2020/09/15/enhancing-image-preview-core-proposal/
【参考】Robots API and max-image-preview directive in WordPress 5.7
https://make.wordpress.org/core/2021/02/19/robots-api-and-max-image-preview-directive-in-wordpress-5-7/
また、関数 noindex(),wp_no_robots() が非推奨になり、wp_robots_noindex(),wp_robots_no_robots() に置き換わりました。
pre_wp_mail
wp_mail でのメールの送信を中断する事ができるようになりました。
例えばローカルやテスト環境等で使えます。
null以外の値を返すと、メールの送信が中断され、代わりにその値(メールのデータ)が返されます。
wp-includes/pluggable.php
/** * Filters whether to preempt sending an email. * * Returning a non-null value will short-circuit {@see wp_mail()}, returning * that value instead. A boolean return value should be used to indicate whether * the email was successfully sent. * * @since 5.7.0 * * @param null|bool $return Short-circuit return value. * @param array $atts { * Array of the `wp_mail()` arguments. * * @type string|string[] $to Array or comma-separated list of email addresses to send message. * @type string $subject Email subject. * @type string $message Message contents. * @type string|string[] $headers Additional headers. * @type string|string[] $attachments Paths to files to attach. * } */ $pre_wp_mail = apply_filters( 'pre_wp_mail', null, $atts ); if ( null !== $pre_wp_mail ) { return $pre_wp_mail; }
【参考】Allow short-circuiting wp_mail
https://core.trac.wordpress.org/ticket/35069
PHPMailer
外部ライブラリの PHPMailer が v6.2.0 から v6.3.0 へ バージョンアップしました。
いちおう「問い合わせ」等のメールテストをしてくださいね。
【参考Update PHPMailer to 6.3.0
https://core.trac.wordpress.org/ticket/52577
paginate_links_output
paginate_links関数の最後にフィルターが追加されました。
wp-includes/general-template.php
/** * Filters the HTML output of paginated links for archives. * * @since 5.7.0 * * @param string $r HTML output. * @param array $args An array of arguments. See paginate_links() * for information on accepted arguments. */ $r = apply_filters( 'paginate_links_output', $r, $args ); return $r;
【参考】Adding a filter in paginate_links function
https://core.trac.wordpress.org/ticket/44018
【参考】関数リファレンス/paginate links
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/paginate_links
「ブログに戻る」リンクをフィルタリング
管理画面へのログインフォームの下の「← ○○○ へ移動」リンクが変更できるようにフィルターが追加されました。
サンプル
function wporg_login_site_html_link( $link ) { return '<a href="' . esc_url( home_url( '/' ) ) . '">' . __( 'Back to the website', 'text-domain' ) . '</a>'; } add_filter( 'login_site_html_link', 'wporg_login_site_html_link', 10, 1 );
【参考】Add ability to filter back to blog link on login page
https://core.trac.wordpress.org/ticket/35449
スポンサードリンク
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 を日本語環境で正しく動作させるために必要となる機能を網羅していますので、なんらかの対策を行っていない場合は導入をおすすめします。
バックアップとってね
メジャーアップデートでは必ずバックアップをとるようにしましょう。ファイルとデータベースのバックアップは必ずとるようにしてください。
今回のはjQueryが変わったり、ブロック部分がだいぶ変わってますのでプラグインやテーマ、CSSとかチェックしといた方がいいですね。
【参考】
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/
できれば 本番のバックアップから テスト環境 を作って動作テストをする事をお勧めします。