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

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

説明

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

調べたのはWordPress 3.0から最新版(4.1.1 4.8.0)で、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
4.5.31.12.41.11.44.3.10
4.6.01.12.41.11.44.4.1
4.6.11.12.41.11.44.4.1
4.7.01.12.41.11.44.4.3
4.7.11.12.41.11.44.4.3
4.7.21.12.41.11.44.4.3
4.7.31.12.41.11.44.4.3
4.7.41.12.41.11.44.5.6
4.7.51.12.41.11.44.5.6
4.8.01.12.41.11.44.6.3

※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の場合は何も処理しないように変更。これにより、おかしな挙動はなくなりました。

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

お勧めコンテンツ

date_i18n(2013年3月14日 登録)

string date_i18n( string $dateformatstring, mixed $unixtimestamp = false, bool $gmt = false )
日付/時刻を書式化した文字列を取得する

get_comment(2011年6月18日 登録)

mixed get_comment( mixed &$comment [ , string $output = OBJECT ] )
コメント情報を取得する。

esc_textarea(2013年4月20日 登録)

string esc_textarea( string $text )
TEXTAREAタグの値をエスケープする。

esc_attr_e(2010年6月17日 登録)

void esc_attr_e( string $text [ , string $domain = 'default' ] )
現在のロケールに応じた翻訳テキストを取得し、その中に含まれている特殊文字をHTMLエンティティに変換してから表示する。

wp_http_validate_url(2013年6月22日 登録)

mixed wp_http_validate_url( string $url )
安全なURLか調べる。

最終更新日時 : 2017-06-29 10:32