この記事は最後に更新してから1年以上経過しています。

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

お勧め

add_shortcode(2018年5月27日 更新)

void add_shortcode( string $tag, mixed $func )
ショートコード(独自タグ)を追加する。ショートコードは、投稿記事内でテキスト内容がない[tag]や、テキストを内包する[tag]テキスト[/tag]の書式で使用できる独自タグのこと。標準の状態では、 the_content関数によって表示する直前のフィルター処理内でパラメータ$funcで指定した関数・メソッドが実行される。

get_user_setting(2022年1月31日 更新)

mixed get_user_setting( string $name [ , string $default = false ] )
ユーザーインターフェイス設定を取得する。

have_posts(2018年5月27日 更新)

bool have_posts( )
次の投稿データが存在するかを調べる。

in_category(2018年5月27日 更新)

bool in_category( mixed $category [ , mixed $post = null ] )
投稿情報が指定したカテゴリーに属しているか調べる。

add_feed(2024年6月24日 更新)

string add_feed( string $feedname, callable $callback )
フィードを追加する。