WordPress添加媒体文件只显示当前上传文章附件图片

使用WordPress的朋友应该都清楚,特别是喜欢图文并茂的网站,肯定离不开的就是WordPress文章编辑页面的“添加媒体”按钮,每次点击就能弹出一个插入多媒体的界面,然后页面默认就会列举加载所有最近的媒体库上传的文件,从而文件过多过大的请求下载,就可能造成页面的卡顿或假死,同时也会造成服务器带宽资源的浪费,严重影响网站内容的编辑和效率。

那么正是根据这个问题,就寻找了一些方法,其中网上已经有分享相关的方法,都是从国外某问答类的站点转载过来的,从而出现的问题就只能看到上传到当前文章的附件,其它的所有多媒体选项就失效了,虽然可以解决问题,但是当我们需要查看之前或者全部附件的时候就完全无力了,所以子凡决定自己研究研究。最终代码如下:

//WordPress “添加媒体”文件时只显示上传到当前文章的附件
//add_action( 'wp_footer', 'fanly_mediapanel_lock_uploaded' );//让前台编辑器也生效
add_action( 'admin_footer-post-new.php', 'fanly_mediapanel_lock_uploaded' );
add_action( 'admin_footer-post.php', 'fanly_mediapanel_lock_uploaded' );
function fanly_mediapanel_lock_uploaded() {
	echo '<script type="text/JavaScript">var $i=0;jQuery(document).on("DOMNodeInserted", function(){if(jQuery("#media-attachment-filters").length>0&&$i==0){jQuery(\'select.attachment-filters [value="uploaded"]\').attr(\'selected\',true).parent().trigger(\'change\');$i++;}});</script>';
}

以上代码来源于:落泪博客

WordPress的老规矩依旧将以上代码添加到当前主题的 functions.php 文件中即可。

其实就是在页面中添加了一段JS,做了一个额外的if判断,从而完美实现效果,默认第一次点击“添加媒体”的时候默认就是显示上传到当前文章的附件了,而不是全部,大大的提高了编辑效率,当然也可以很轻松的选择显示全部媒体问题,是不是很简单呢?


WordPress