php - 从所有自定义帖子类型中删除 _thumbnail_id

标签 php mysql wordpress

我需要从我的 WordPress 数据库中的自定义帖子类型中删除 _thumbnail_id 元键数据。我找到了这段代码,它允许我从所有内容中删除它,但我不希望它从我的帖子中删除它,只有我的自定义帖子类型称为“svg”,任何人都可以帮助我调整代码来这样做?

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'
" );

或者,如果你们知道从 SVG 帖子中删除 _thumbnail 元键的更好方法,请告诉我,因为我有超过 400 多个 svg 帖子,无法逐一浏览。

最佳答案

您正在寻找这样的东西吗?

DELETE m
  FROM wp_postmeta m JOIN wp_posts
    ON m.post_id = p.id
 WHERE p.post_type = 'svg'
   AND meta_key = '_thumbnail_id'

注意:在尝试删除任何内容之前,请确保您对数据库进行了可靠的备份,以防万一。

关于php - 从所有自定义帖子类型中删除 _thumbnail_id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20159013/

相关文章:

php - 如何在 PHP 中合并两个 JSON 字符串?

php - 如何选择MAX(updateTag)

php - 向 mySQL 添加数据时使用 PHP POST 变量?

php - 从 php MySQL 查询输出分号分隔的行

php - 通过 PHP/MySQL 在 FullCalendar 中实现重复事件的最佳方法是什么?

php - WordPress - mysql_query() : Access denied for user 'www-data' @'localhost' (using password: NO) error on production server

php - 如何在 php resque 中为 redis 定义作业?

php - 图像裁剪和比较

css - 仅将文本标签扩展为一行?

wordpress - 事件目标未记录在Google Analytics(分析)中