WordPressメディアアップローダー自作時にハマったのでメモ

Java script

メディアアップローダー機能を装着したい..だけど、jQueryが..



jQuery(function() {
		var custom_uploader = wp.media({
			title: 'Choose Image',
			library: {type: 'image'},
			button: {text: 'Choose Image'},
			multiple: false
		});
 
		jQuery("#media-upload").on("click", function(e) {
			e.preventDefault();
			custom_uploader.open();
		});
		
		custom_uploader.on("select", function () {
			var images = custom_uploader.state().get('selection');
 
			images.each(function(file) {
				jQuery("#image-url").val(file.toJSON().url);
				jQuery("#image-view").attr("src", file.toJSON().url);
			});
		});

	});



このようなjsを用意したのですが、jQueryがうまく読み込まれません。
以前にもjQueryには何度も悩まされてきましたが、今回は単純な理由でした。

wp_enqueue_media();

というメディアアップローダーのスクリプトを読み込む関数を書き忘れていました。(こちらはPHPの関数です。)



参考にしたサイト

・メディアアップローダーについて
https://www.terakoya.work/media-view-ajax-window/

・管理画面にメニューを追加
https://qiita.com/konweb/items/330f735a899e448ef876

・PATHやURLの取得関数
https://oxynotes.com/?p=8590

コメント