WordPressと組み込まれている主なJavaScriptライブラリのバージョン一覧

WordPressと組み込まれている主なJavaScriptライブラリのバージョン一覧 - バージョンアップでドラッグ&ドロップの挙動がおかしくなった

説明

WordPressの更新が遅れていたサイトを少し前に更新したところ、jQuery UI sortableを使って拡張したページに不具合が発生しました。WordPressの更新に伴って内部のjQuery UIが更新されたことに起因すると思われ、これを機にWordPressとそれに組み込まれたJavaScriptライブラリのバージョンを確認してみました。

調べたのはWordPress 3.0から最新版(4.1.14.5.2)で、jQuery、jQuery UI、TinyMCEそれぞれのバージョンを対象にしました。以下に示した内容は、それぞれのソースコードに記載されたバージョン情報です(青字はWordPressのバージョンアップに伴ってバージョンアップしたところ)。

WordPressjQueryjQuery UITinyMCE
WordPressjQueryjQuery UITinyMCE
3.01.4.21.7.33.2.7
3.0.11.4.21.7.33.2.7
3.0.21.4.21.7.33.2.7
3.0.51.4.21.7.33.2.7
3.11.4.41.8.9---
3.1.11.4.41.8.93.3.9.3
3.1.21.4.41.8.93.3.9.3
3.1.31.4.41.8.93.3.9.3
3.1.41.4.41.8.93.3.9.3
3.21.6.11.8.123.4.2
3.2.11.6.11.8.123.4.2
3.31.7.11.8.163.4.5
3.3.11.7.11.8.163.4.5
3.3.21.7.11.8.163.4.5
3.41.7.21.8.203.4.9
3.4.11.7.21.8.203.4.9
3.4.21.7.21.8.203.4.9
3.51.8.31.9.23.5.6
3.5.11.8.31.9.23.5.8-wp
3.5.21.8.31.9.23.5.8-wp2
3.61.10.21.10.33.5.8-wp2
3.6.11.10.21.10.33.5.8-wp2
3.71.10.21.10.33.5.9
3.7.11.10.21.10.33.5.9
3.81.10.21.10.33.5.9
3.8.11.10.21.10.33.5.9
3.8.21.10.21.10.33.5.9
3.91.11.01.10.44.0.21.1
3.9.11.11.01.10.44.0.21.1
3.9.21.11.01.10.44.0.21.1
4.01.11.11.10.44.1.4
4.0.11.11.11.10.44.1.4
4.11.11.11.11.24.1.7
4.1.11.11.11.11.24.1.7
4.1.21.11.11.11.24.1.7
4.1.31.11.11.11.24.1.7
4.1.41.11.11.11.24.1.7
4.1.51.11.11.11.24.1.7
4.1.61.11.11.11.24.1.7
4.1.71.11.11.11.24.1.7
4.21.11.21.11.44.1.9
4.2.11.11.21.11.44.1.9
4.2.21.11.21.11.44.1.9
4.2.31.11.21.11.44.1.9
4.2.41.11.21.11.44.1.9
4.31.11.31.11.44.2.3
4.3.11.11.31.11.44.2.5
4.4.01.11.31.11.44.2.8
4.4.11.11.31.11.44.2.8
4.4.21.11.31.11.44.2.8
4.4.31.11.31.11.44.2.8
4.5.01.12.31.11.44.3.8
4.5.11.12.31.11.44.3.10
4.5.21.12.31.11.44.3.10

※WordPress 3.1のTinyMCEのバージョン情報は、ソースコードの該当箇所が'@@'になっていたため'---'としています。

こうやって見比べると、WordPressのメジャーアップデート時はJavaScript関連のチェックを必ず行うようにし、古いバージョンのWordPressを一気にアップデートする際はより注意が必要なことがわかります。

挙動がおかしかった原因

さて挙動がおかしかったのは、sortableのマウスオーバー時の処理部分でした。以下はその抜粋です。

$( '.drag-drop' ).sortable( {
	over: function ( event, ui ) {
		$(this).find( '.ui-state-highlight' ).show();
		if ( $(this).attr( 'id' ) != ui.sender.attr( 'id' ) && ui.sender.find( 'li' ).length == 1 && ui.sender.find( 'li.ui-state-placeholder' ).length == 0 )
			ui.sender.append( '<li class="ui-state-placeholder">&nbsp;</li>' );
		else
			$(this).find( '.ui-state-placeholder' ).hide();
	},

上記のif文でui.senderのattrメソッドを呼び出しているのですが、WordPress 4.1.1でドラッグ操作を行うと、エラー(Chromeのエラー表示は「Cannot read property 'attr' of null」)となっていました。uiパラメータの内容をログ出力すると、エラー時にはui.senderがnullとなっていました。このエラーの対処としてui.senderがnullの場合は何も処理しないように変更。これにより、おかしな挙動はなくなりました。

本件はレアケースかもしれませんが、メモ書きとして残しておきます。

お勧めコンテンツ

get_page_uri(2014年6月17日 登録)

mixed get_page_uri( mixed $page )
固定ページのURIを取得する。

the_title_attribute(2009年11月12日 登録)

string the_title_attribute ( [ mixed $args = '' ] )
投稿情報のタイトルをパラメータ$argsのecho要素がtrue(デフォルト)ならば表示する。echo要素がfalseの場合は表示せず、取得する。なお、タイトルおよびパラメータ$argsのbefore、after要素にHTMLタグが含まれる場合はそれらを除去される。

update_comment_meta(2014年3月9日 登録)

bool update_comment_meta( int $comment_id, string $meta_key, mixed $meta_value [ , mixed $prev_value = '' ] )
コメントメタ情報の値を更新する。

untrailingslashit(2011年10月5日 登録)

string untrailingslashit( string $string )
末尾からスラッシュ(/)を取り除く。

urldecode_deep(2015年12月12日 登録)

mixed urldecode_deep( mixed $value )
変数内の文字列についてURLデコード処理を行う。

最終更新日時 : 2016-06-18 14:28