「メディアを挿入」画面の表示を「この投稿へのアップロード」のみにする方法の紹介です。
投稿画面の[メディアを追加]をクリックすると「メディアを挿入」画面がポップアップしますが、
「すべてのメディア」になっており、サイトにアップされたすべてのメディアを表示されるのが、
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 }