そろそろこの季節がやってきました。WordPress4.7 は 2016年12月6日 に リリースされる予定で alpha版からいろいろチェックをしています。
という事で WordPress4.7でちょっと気がついたところを取り上げていきます。
まだまだ これから変更はありそうなので説明や画像キャプチャ等と違う場合がありますのでご容赦ください。
Feature Plugins Tracking を見ると組み込まれる機能の予定が載っています。
リリースまでのスケジュールは WordPress 4.7 Development Cycle に載っています。
WordPress4.7 beta版(2016/10/28) は https://wordpress.org/news/2016/10/wordpress-4-7-beta-1/ からダウンロードできます。
WordPress4.7 RC版(2016/11/24) は https://wordpress.org/news/2016/11/wordpress-4-7-release-candidate/ からダウンロードできます。
WordPress4.7 は https://wordpress.org/news/2016/12/vaughan/ 右上の「Download WordPress」からダウンロードできます。
WP REST API
今回の目玉はこれでしょうかね。WP REST API が組み込まれました。これから これを使ったAPIやプラグインがどんどん出てくると思います。
【参考】
WP REST API Team Proposes to Merge Content Endpoints Into WordPress 4.7 – WordPress Tavern
https://wptavern.com/wp-rest-api-team-proposes-to-merge-content-endpoints-into-wordpress-4-7
テーマカスタマイザー
テーマカスタマイザーで いろいろ変更、追加がありました。今回の目玉はこっちの方かもしれません。
この要素を編集するには Shift キーを押しながらクリックします
ウィジェットやメニュー等編集したい場合は左メニューからタブを進んで行けばできるのですがライブプレビューの所を「Shift」キーを押しながらクリックすると一発でそのメニューになります。
前からある機能なんですが、知らない方も多かったのか、わかりやすく マークがつきました。
Header Video
ヘッダ画像のところに動画も設置する事ができるようになりました。
動画ファイルをアップロードするか YouTube のURLを張り付けてもいいです。
これは、テーマ側で対応する必要があります。
テーマカスタマイザーの定義の「add_theme_support( ‘custom-header’~」に「’video’ => true,」を追加するのと、
表示側ではテンプレートに 「<?php the_custom_header_markup(); ?>」を追加すると使えるようです。
【参考】
Video Headers in 4.7 – Make WordPress Core
https://make.wordpress.org/core/2016/11/26/video-headers-in-4-7/
カスタマイザーでテーマを選択
インストールしていない新規テーマをテーマカスタマイザーで追加出来るようになりました。
従来の「外観→テーマ」の機能がテーマカスタマイザー上でできます。
テーマカスタマイザーで「変更」をクリックすると
テーマ選択の画面になります。(インストール済のテーマ一覧が右に出てきます。)
その下のタブからは https://wordpress.org/themes/ のテーマ検索になります。
下の「最新」をクリックしてみたり
特徴フィルター等でテーマを絞り込む事も出来ます。
【参考】
Feature Proposal: A New Experience for Discovering, Installing, and Previewing Themes in the Customizer – Make WordPress Core
https://make.wordpress.org/core/2016/10/03/feature-proposal-a-new-experience-for-discovering-installing-and-previewing-themes-in-the-customizer/
Additional CSS
テーマカスタマイザーで、簡単なCSSを追加できるようになりました。また入力されたCSSはカスタマイザーですぐにライブプレビューされます。
例えばサイトロゴの右側のマージンをちょっと少なくしたい場合
CSSを入力すると、すぐにプレビュー画面に反映されます。
数値を調整して、OKならば上の「保存して公開」ボタンを押してください。
CSSはヘッダーのところにインラインで記述されます。
【参考】
Feature Proposal: Better theme customizations via custom CSS with live previews – Make WordPress Core
https://make.wordpress.org/core/2016/10/11/feature-proposal-better-theme-customizations-via-custom-css-with-live-previews/
Extending the Custom CSS editor – Make WordPress Core
https://make.wordpress.org/core/2016/11/26/extending-the-custom-css-editor/
Customize Changesets
テーマカスタマイザーで操作しているセッション情報が保存されるようになりました。セッション情報は postテーブルに「customize_changeset」というカスタムポストタイプで保存されています。
これにより、テーマカスタマイザー上で、別のテーマをライブプレビューする際には今迄変更していた設定(保存前)は破棄されていましたがWordPress4.7からは、別のテーマのライブプレビューが終わって元のテーマに戻っても以前の設定が保持されています。
また、ライブプレビュー画面が別画面(単独で)で表示させることもできます。
ライブプレビュー(右フレーム)画面のどこかで右クリック→このフレーム(H)→フレームを新しいウィンドウで開く(W) 又は フレームを新しいタブで開く(T) で単独ページでチェックする事ができます。
【参考】
Customize Changesets Technical Design Decisions
https://make.wordpress.org/core/2016/10/12/customize-changesets-technical-design-decisions/
Content Authorship in Menus
テーマカスタマイザーのメニュー設定では、固定ページや投稿ページをその場で新規作成してメニューに設置する事ができます。
これは、コンテンツを作成する前に、メニューを先に 試しながら作っておくことができる機能です。
使い方例
テーマカスタマイザーで「メニュー」をクリック→ヘッダメニュー(Top)をクリック→「+項目を追加」ボタンをクリックしてください。
固定ページタブの「新規固定ページを追加」のところにタイトルを入れて「+追加」ボタンをクリックしてください。
固定ページが追加されてメニューにも登録されます。
これは「保存して公開」ボタンを押すまで反映されません。
追加した新規固定ページのコンテンツは、何も入っていませんので後で入力してください。
【参考】
Content Authorship in Menus, with Live Preview – Make WordPress Core
https://make.wordpress.org/core/2016/06/16/feature-proposal-content-authorship-in-menus-with-live-preview/
スポンサードリンク
PDF thumbnail previews
PDFファイルでも メディアアップロード時にサムネイル画像を生成できるようになりました。
しかし、サーバー側で ImageMagick がサポートされている必要があります。無い場合 または、生成に失敗した場合は、従来の動作になり、メタに画像のプレビューを追加することなく添付ファイルを保存します。
【参考】
Better PDF Upload Management
https://core.trac.wordpress.org/ticket/31050
Enhanced PDF Support in WordPress 4.7
https://make.wordpress.org/core/2016/11/15/enhanced-pdf-support-4-7/
投稿記事のパスワード
投稿記事のパスワードは従来は20文字まででしたが WordPress4.7 からは 255文字まで使えるようになります。
この為に データベース postテーブルの項目のデータ型が変更されています。
schema.php
post_password varchar(20) NOT NULL default '', ↓ post_password varchar(255) NOT NULL default '',
【参考】
WordPress 4.7 to Allow 255-Character Passwords for Protected Posts
https://wptavern.com/wordpress-4-7-to-allow-255-character-passwords-for-protected-posts
※バージョンアップの時に ここでコケないかちょっと心配です。
ログイン画面
ちょっとした変更なのですが、これはありがたい変更です。
WordPressログイン画面のCSSにこれが追加されました。
@media screen and (max-height: 550px) { #login { padding: 20px 0; }
左がWordPress4.6、 右がWordPress4.7です。(違いわかるかな?)
つまり、今までは入力フォームの高さが固定だったので、ブラウザ画面が小さい時は下側が隠れてたりして、スクロールしないといけませんでしたが
WordPress4.7 からは上側になるので スクロールしなくてもよくなる場合が多くなりました。
管理者の言語設定
管理者ごとに管理画面内で使用する言語を選択することができます。
※使用する言語がプルダウンメニューに無い場合は、設定→一般で言語をインストールする必要があります。
【参考】
WordPress 4.7 to Introduce User-Specific Language Setting for the Admin – WordPress Tavern
https://wptavern.com/wordpress-4-7-to-introduce-user-specific-language-setting-for-the-admin
Twenty Seventeen
今回のバージョンアップでは新しいデフォルトテーマ「Twenty Seventeen」が登場しています。
詳しくはこちらをご覧ください。
WordPress4.7 新デフォルトテーマ Twenty Seventeen をチェックしています – ねんでぶろぐ
http://nendeb.com/471
開発者向けコード
テーマ用関数
テーマでよく使いそうな関数も追加されています。
WordPress4.7 新デフォルトテーマ Twenty Seventeen で早くも使われています。
get_theme_file_uri( $file = ” )
get_parent_theme_file_uri( $file = ” )
get_theme_file_path( $file = ” )
get_parent_theme_file_path( $file = ” )
※wp-includes/link-template.php にあります。
例えば Twenty Seventeen では
/** * Implement the Custom Header feature. */ require get_parent_theme_file_path( '/inc/custom-header.php' );
内容はこれと同じになります。
require get_template_directory() . '/inc/custom-header.php';
※return のところで アクションフィルター もついていますので、子テーマ等で外部からの変更もたやすくなりますね。
【参考】
Hooks, and Behaviour for Theme Developers in WordPress 4.7 – Make WordPress Core
https://make.wordpress.org/core/2016/09/09/new-functions-hooks-and-behaviour-for-theme-developers-in-wordpress-4-7/
Custom Bulk Actions
管理画面で投稿一覧等の一括操作のドロップダウンメニューにオリジナルの操作を簡単に追加する事ができるようになりました。
詳しくはこちらを参照してください。
【参考】
Using Custom Bulk Actions – Make WordPress Core
https://make.wordpress.org/core/2016/10/04/custom-bulk-actions/
悪用?すれば、こんな事もできます。
/** * 投稿をゴミ箱へ送らずにいきなり削除する。 一括操作 選択ボックス部分 * * Use bulk_actions-{screen_id} * License: GPLv2 or later */ function nendebcom_bulk_actions_delete_post( $bulk_actions ) { $bulk_actions['suddenly_delete'] = 'いきなり削除する'; return $bulk_actions; } add_filter( 'bulk_actions-edit-post', 'nendebcom_bulk_actions_delete_post' ); add_filter( 'bulk_actions-edit-page', 'nendebcom_bulk_actions_delete_post' ); /** * 投稿をゴミ箱へ送らずにいきなり削除する。削除部分 * * Use handle_bulk_actions-{screen_id} * License: GPLv2 or later */ function nendebcom_bulk_actions_handler_delete_post( $redirect_to, $doaction, $post_ids ) { if ( $doaction !== 'suddenly_delete' ) { return $redirect_to; } foreach ( $post_ids as $post_id ) { if ( ! current_user_can( 'delete_post', $post_id ) ) { wp_die( __( 'Sorry, you are not allowed to delete this item.' ) ); } if ( ! wp_delete_post( $post_id, true ) ) { wp_die( __( 'Error in deleting.' ) ); } } $redirect_to = add_query_arg( 'deleted', count( $post_ids ), $redirect_to ); return $redirect_to; } add_filter( 'handle_bulk_actions-edit-post', 'nendebcom_bulk_actions_handler_delete_post', 10, 3 ); add_filter( 'handle_bulk_actions-edit-page', 'nendebcom_bulk_actions_handler_delete_post', 10, 3 );
バックアップとってね
今回のバージョンアップでは データベース の 一部のテーブルの項目のデータ型が変更されます。
少なくとも データベースのバックアップは必ずとるようにしてください。
【参考】
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/
できれば 本番のバックアップから テスト環境 を作って動作テストをする事をお勧めします。