Tips

WordPressが4.0へバージョンアップ。変更点を早速チェックしてみた!

WordPress4.0の変更点その4~開発者向けの変更WP_Queryのorderby~

開発者向けの変更点として、カスタマイザーAPIのサポートの改善、外部ライブラリの更新、そしてWP_Queryのクエリ順序の柔軟性強化が挙げられています。
この中では3つめのWP_Queryのクエリ順序の柔軟性強化が一番使い処あるかなという感じなのでピックアップしておきます。

WP_Queryというのは、投稿の一覧などをある条件に応じてループ表示する際に使用する関数です。

$q1 = new WP_Query(array('cat'=>1,'posts_per_page'=>10));

こんな形で使います。

WP_Queryには「orderby」という、並び順を指定できる項目があるのですが、
今までのWP_Queryは、例えば

$q2 = new WP_Query(array('orderby'=>'title author'));

このような形でWP_Queryを実行したとすると、
デフォルトは「DESC」、つまり降順になるので、SQLの「ORDER BY」句としては、

ORDER BY post_title, post_author DESC

というようになりました。
タイトルは昇順、著者は降順という並びです。

ここで問題であったのは、ソートしたい項目を複数指定しようとしたときに、
orderで指定した内容が効くのが最後の項目だけ、という点です。

つまり、
「タイトルと著者が降順でIDは昇順にしたい」
というような複雑な順序指定ができなかったわけです。

これがバージョン4.0では解消されました。
以下のような記述をすればよいです。

$q3 = new WP_Query(array('orderby'=>array('title'=>'DESC','author'=>'DESC', 'ID'=>'ASC')));

このように複雑な順序指定ができるようになった点が、変更点になります。

WordPress4.0の変更点その5~気になった点~

新規投稿画面の「メディアを追加」ボタン(下記の画像の赤枠部分)をクリックしても、メディア追加モーダルが表示されません。
ChromeとIEで確認してみたのですが、同様でした。これでは画像などのメディア追加ができません。

worepress4.0メディア追加ボタン

worepress4.0メディア追加ボタン

対応策としては、フルスクリーン表示にした状態で画像追加ボタンをクリックすれば、
メディア追加が立ち上がります。

worepress4.0メディア追加ボタン2

worepress4.0メディア追加ボタン2

一体これはバグなのでしょうか。ちょっと注意が必要ですね。

WordPress4.0の変更点その6~その他~

その他詳細は以下のCodexを参照ください。細かい変更箇所が載っていると思います。

日本語版http://wpdocs.sourceforge.jp/Version_4.0
英語版http://codex.wordpress.org/Version_4.0

まとめ

操作性は大きく変わらず、管理画面UIが若干リッチになったかなという感じです。
WP_Queryの機能拡張はテンプレート開発を行う上で、非常に有用という気がします。
変更点その4で挙げたメディア追加が動かない点が引っかかりました。

4.0不具合・バグ報告(追記)

私のWordPress環境では、2点不具合がありました。

不具合1:タグ選択できなくなる

WordPress記事投稿画面にて、タグを選択できなくなります。
タグクラウドをクリックしても動作せず、入力フォームには入力できない状態でした。

→対応策:
対応策というほどではありませんが、既存の投稿をコピーすると、タグ情報も引き継がれます。
つまり、タグ自体がクリアになってしまったわけではなく、追加のみできなくなっているという状態です。
しかしながら、新記事にはタグをつけたかったため、根本的対策としてダウングレードを実施しました。
やはり、WordPressアップデート前にはバックアップは必須ですね。プラグイン「BackWPUP」などを使えば、管理画面でバックアップがとれますので、活用してみましょう。

不具合2:メディア追加できなくなる

こちらも投稿画面にてですが、画面上部のメディア追加ボタンが効かなくなりました。
どうやらjQuery,Ajax部分の不具合のようです。

→対応策:
投稿画面をフルスクリーンにした状態のメディア追加ボタンは有効です。
ですので、一度フルスクリーンにしてから追加し、戻る、という手順を踏めば追加できるようです。

現状上記の不具合を観測しておりますが、使用しているテンプレート・プラグインとバッティングしている可能性もなきにしも有らずです。参考までに追加させて頂きました。

WEBアプリケーション関連 人気連載リンク

基礎からPHPWEBアプリ解発を学ぶなら・・
PHP基礎 連載

より実践的なWEBアプリ開発講座!Bootstrap活用を学ぶなら・・
魁!小野の塾 連載

Recent News

Recent Tips

Tag Search