WordPress 批量删除所有文章的特色图像

说到 WordPress 的特色图像功能,相信大家都比较熟悉了,今天分享 批量删除所有文章的特色图像 的方法,或许有些朋友会用得上。将下面的代码添加到当前主题的 functions.php :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/**
 * WordPress 批量删除所有文章的特色图像
 * https://www.wpdaxue.com/bulk-remove-featured-images-from-posts.html
 */
global $wpdb;
$attachments = $wpdb->get_results( "
	SELECT * 
	FROM $wpdb->postmeta 
	WHERE meta_key = '_thumbnail_id'
	" );
foreach ( $attachments as $attachment ) {
	wp_delete_attachment( $attachment->meta_value, true );
}
$wpdb->query( "
	DELETE FROM $wpdb->postmeta 
	WHERE meta_key = '_thumbnail_id'
	" );

一旦你保存了 functions.php ,所有文章的特色图像都会被删除(只删除文章的特色图像设置数据,图片仍旧会保留在你的媒体库,不会删除),执行了一次以后,你应该删除这段代码,否则你将不可能给文章再添加特色图像(它会继续自动删除)。

参考资料:http://www.wpbeginner.com/wp-tutorials/how-to-bulk-remove-featured-images-from-posts-in-wordpress/

倡萌

一个文科IT宅男,喜欢折腾WordPress和被它折腾 ^_^

8 条评论

  1. 文章有误吧,我经过测试。这个函数要慎用,除了把数据库里的_thumbnail_id都清除掉以外,wp_delete_attachment 会把硬盘里的缩略图文件也一并删除的。

发表评论