WordPress 自定义字段功能强大,我们可能利用该功能使主题实现特殊功能和效果,如调用显示指定的图片和内容等。但不同的主题和插件所使用的自定义字段也不同,当你更换主题或禁用某个插件后这些自定义字段数据会继续留在数据库中成为垃圾数据,如果文章较多手动删除这些自定义字段不现实,虽然可以到数据库中修改,但操作数据库有风险,在这里我们只需使用下面的一段代码,即可批量删除这些自定义字段。
修改下面代码最后一行里的“自定义字段名称”为你要删除的自定义字段名称,然后将代码添加到当前主题的 functions.php 文件中:
/**
* 不进数据库就能批量删除 WordPress 插件残留的自定义字段 - 龙笑天下
* https://www.ilxtx.com/delete-wordpress-postmeta.html
*/
function lxtx_delete_postmeta_key($meta_key=''){
$meta_key = trim($meta_key);
if ( empty($meta_key) ) {
echo 'meta_key 不能为空!';
return;
}
global $wpdb;
$table = $wpdb->prefix.'postmeta';
$ret = $wpdb->query( $wpdb->prepare("DELETE FROM $table WHERE `meta_key`='%s'", $meta_key) );
echo 'Delete meta_key "'.$meta_key.'" '.($ret?'success':'fail').'. RET:'.json_encode([$ret]);
}
lxtx_delete_postmeta_key('自定义字段名称');
之后,指定删除的自定义字段会自动从数据库中被清理掉。该代码运行一次就够了,没有必要留在主题中,用后删除即可。
如果你想要批量重命名 WordPress 自定义字段名称,可以参阅这篇:
不进数据库就能批量重命名 WordPress 自定义字段名称
「点点赞赏,手留余香」
声明:本文转载自知更鸟,本文观点不代表龙笑天下立场,版权归原作者所有,欢迎分享本文,转载请保留出处!






