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

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


最終更新 : 2018年05月27日 10:46

お勧め

flush_rewrite_rules(2015年9月24日 更新)

void flush_rewrite_rules( [ bool $hard = true ] )
リライトルールを更新する。

shortcode_atts(2018年5月27日 更新)

array shortcode_atts( array $pairs, array $atts )
ショートコードの無効な属性値を除外する。属性が省略されている場合は、デフォルト値を設定する。

the_weekday(2012年1月16日 更新)

void the_weekday( )
投稿日の曜日を表示する。

wp_loginout(2018年5月27日 更新)

void wp_loginout( [ string $redirect = '' ] )
閲覧者がログインしているかどうかを調べ、ログインしていなければログインページのリンクを、ログイン済みならばログアウトページのリンクを表示する。

has_term(2012年1月17日 更新)

bool has_term( [ mixed $term = '' [ , string $taxonomy = '' [ , mixed $post = null ] ] ] )
投稿記事にタクソノミーが付属しているか調べる。