つながるnet

メディアを挿入画面の表示を「この投稿へのアップロード」にする

「メディアを挿入」画面の表示を「この投稿へのアップロード」のみにする方法の紹介です。

投稿画面の[メディアを追加]をクリックすると「メディアを挿入」画面がポップアップしますが、
「すべてのメディア」になっており、サイトにアップされたすべてのメディアを表示されるのが、
WordPressの仕様です。

現在編集中の投稿に関連付けられたメディアのみを見たい(見せたい)場合、
「すべてのメディア」が表示されていると混乱を招くことがあります。

それで、この表示を「この投稿へのアップロード」のみにしたいことはないでしょうか。

投稿画面のフックを利用してJqueryで制御

プルダウンリスト(attachment-filters)を表示するためのWordpressフックはないので、
投稿画面をフックして、投稿画面のフッターにJqueryのコードを記述して対処します。

functions.phpに記述:

/**
 * メディアを挿入の表示を「この投稿へのアップロード」のみにする
 */
add_action( 'admin_footer-post-new.php', 'initial_view_of_media_uploader' );
add_action( 'admin_footer-post.php', 'initial_view_of_media_uploader' );
function initial_view_of_media_uploader() { ?>
<script type="text/javascript">
	jQuery(document).on("DOMNodeInserted", function(){
		jQuery('select.attachment-filters [value="uploaded"]').attr( 'selected', true ).parent().trigger('change');
	});
</script>
<?php
}

 

これで「メディアを挿入」画面をポップアップすると、
その表示は「この投稿へのアップロード」のみになります。

▼▼▼ 2013/07/08 追記 ▼▼▼

でもやっぱり、初期表示は「この投稿へのアップロード」にしたいが、
選択できたほうがよいという場合は:

/**
 * メディアを挿入の初期表示を「この投稿へのアップロード」にする
 */
add_action( 'admin_footer-post-new.php', 'initial_view_of_media_uploader' );
add_action( 'admin_footer-post.php', 'initial_view_of_media_uploader' );
function initial_view_of_media_uploader() { ?>
<script type="text/javascript">
jQuery(function($) {
		$('#wpcontent').ajaxSuccess(function() {
				$('select.attachment-filters [value="uploaded"]').attr( 'selected', true ).parent().trigger('change');
		});
});
</script>
<?php
}

直接メールしてみる

お名前 (必須)
メールアドレス (必須)
件名
ご相談内容
画像文字をご入力ください
captcha

コメントを残す