从数据库中删除附件

时间:2013-10-22 作者:ayutheos

有没有办法从WordPress数据库中批量删除附件,但不从服务器中删除实际文件?

有点像http://wordpress.org/plugins/add-from-server/

1 个回复
SO网友:gmazzap

只需使用自定义$wpdb 查询,类似

function remove_all_attachments() {
  global $wpdb;
  $ids = $wpdb->get_col("SELECT ID FROM $wpdb->posts WHERE post_type = \'attachment\'");
  if ( empty($ids) ) return;
  $remove = implode(\',\', $ids);
  // remove post meta
  $wpdb->query("DELETE FROM $wpdb->postmeta WHERE post_id IN ({$remove})");
  // remove posts
  $wpdb->query("DELETE FROM $wpdb->posts WHERE ID = IN ({$remove})");
}
那之后就打电话remove_all_attachments() 不管你想要什么,你所有的附件都不见了,但文件还在那里。。。

结束

相关推荐

how to edit attachments?

在将例如文件附加到帖子时,如何在事后编辑/删除它们?在帖子编辑器中找不到任何内容。谢谢