如何批量删除WordPress自定义栏目/字段/域?

WP教程 2年前 (2022) 微格导航
155 0

WordPress自定义栏目功能不仅强大,而且非常实用,不少Wordpress主题和插件都使用自定义栏目来实现各种功能。

我们使用的文章浏览数统计插件WP-PostViews,就是在数据库中写入自定义栏目 ▼

views

用过的wordpress主题或插件,停用删除后,通常都会在数据库中保留他们的自定义栏目。

要是数据量巨大,每次网站查询数据库,都会造成主机RAM内存的消耗,绝对会影响网站的如常运行。

我们做SEO,写文章不止一篇,若通过手动删除掉这些垃圾的自定义栏目,根本就不切实际。

其实,我们只需要在phpMyAdmin执行一句SQL命令,就可在数据库中,批量删除掉这些垃圾的自定义栏目。

注意事项

由于WordPress批量删除自定义栏目,是涉及到MySQL数据库的操作,有一定的风险。

所以,请务必做好数据库备份,才好进行数据库操作。

方法1:数据库命令删除多余自定义栏目(推荐)

1)登录phpMyAdmin数据库后,选择你的数据库。

2)点击数据库上面 “SQL”。

3)在 “SQL” 输入并执行以下的命令:

DELETE FROM wp_postmeta WHERE meta_key = "自定义栏目名称";

4)然后,在你的网站文章中查看该自定义栏目,确认是否已经成功删除。

方法2:PHP代码删除多余自定义栏目

1)请添加如下代码到当前主题的functions.php文件 ▼

global $wpdb;
$wpdb->query( "
DELETE FROM $wpdb->postmeta
WHERE `meta_key` = '栏目名称'
" );

2)修改 “栏目名称” 为你想删除的自定义栏目。

  • 该自定义栏目,将自动从数据库中被清除。

3)此代码只在需要时才用:

  • 在完成删除任务后请务必删除掉。
  • 若下次要用,请再次添加到当前主题的functions.php文件里,
  • 因为需要添加又删除,比较麻烦,所以不推荐。

删除没用的postmeta记录

可能已删除日志的记录,但日志扩展表 postmeta 中的数据尚未删除,所以只有已手动清除了。

1)登录phpMyAdmin数据库后,选择你的数据库。

2)点击数据库上面 “SQL”。

3)在 “SQL” 输入并执行以下的命令 ▼

DELETE pm FROM wp_postmeta pm LEFT JOIN wp_posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL
版权声明:微格导航 发表于 2022-07-11 17:57:26。
转载请注明:如何批量删除WordPress自定义栏目/字段/域? | 微格导航