我使用了一点@Bainternet的答案,在不破坏核心的情况下完成了这项工作。
此其他问题(&;A也很有帮助:query_posts: how to show all 'meta_value' containing a specific word?
功能wp_unique_filename
有过滤器sanitize_file_name
刚开始的时候,我们就可以钩住它,检查并移除重复的附件。
我做了基本的本地主机测试,请在应用到实时站点之前进行彻底测试。
add_filter( \'sanitize_file_name\', \'filename_filter_wpse_28439\', 10, 1 );
function filename_filter_wpse_28439( $name )
{
$args = array(
\'numberposts\' => -1,
\'post_type\' => \'attachment\',
\'meta_query\' => array(
array(
\'key\' => \'_wp_attached_file\',
\'value\' => $name,
\'compare\' => \'LIKE\'
)
)
);
$attachments_to_remove = get_posts( $args );
foreach( $attachments_to_remove as $attach )
wp_delete_attachment( $attach->ID, true );
return $name;
}