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

お勧め

the_posts_navigation(2018年5月27日 更新)

void the_posts_navigation( [ array $args = array() ] )
投稿ページ向けのナビゲーションを表示する。

popuplinks(2016年4月22日 更新)

string popuplinks( string $text )
Aタグに別ウィンドウで開く属性を追加する

language_attributes(2018年11月16日 更新)

void language_attributes( [ string $doctype = 'html' ] )
HTMLまたはXHTMLのHTMLタグ属性を表示する。

add_management_page(2018年5月27日 更新)

mixed add_management_page( string $page_title, string $menu_title, mixed string $capability, string $menu_slug [ , mixed $function = '' ] )
ツールメニューにサブメニューを登録する。

wp_list_bookmarks(2018年5月27日 更新)

string wp_list_bookmarks( [ mixed $args = '' ] )
ブックマーク(管理画面の「リンク」)をパラメータ$argsのecho値が1ならば表示する。echo値が0ならばその文字列を取得する。