php - 从 WordPress 数据库中删除不必要的元表?
问题描述
每当我注销时,我都想从 WordPress 数据库中删除一些不必要的元表。我使用了下面的代码,但它不起作用。我的意思是它没有删除我提到的表格。
<?php
function delete_useless_post_meta()
{
global $wpdb;
$table = $wpdb->prefix.'postmeta';
$wpdb->delete ($table, array('meta_key' => '_edit_last'));
$wpdb->delete ($table, array('meta_key' => '_edit_lock'));
$wpdb->delete ($table, array('meta_key' => '_wp_old_slug'));
}
add_action('wp_logout','delete_useless_post_meta');
?>
解决方案
最好不要直接与数据库交互,尤其是在发出 DELETE 语句时,因为一个拼写错误可能会破坏非预期数据。相反,使用 WordPress 函数获取所有用户 ID 的列表,然后分别删除每个用户的用户元字段,如下所示:
$all_user_ids = get_users( 'fields=ID' );
foreach ( $all_user_ids as $user_id ) {
delete_user_meta( $user_id, 'your_meta_key_to_delete' );
}
函数参考: https ://codex.wordpress.org/Function_Reference/get_users https://codex.wordpress.org/Function_Reference/delete_user_meta
或者
其他选项,例如,您可以使用 Adminimize plugin - Adminimize plugin
推荐阅读
- vba - 使用VBA从搜索网页的结果中提取表格
- javascript - 如何将“ref”添加到嵌入式嵌套反应组件
- reactjs - CoreUI-free-react-admin-template 不工作
- python - Google Foobar escape-pods 测试用例 N. 4 失败
- javascript - 导航中的间距
- reactjs - 如何只重新渲染一个单元格?
- html - Github页面上的损坏图像
- javascript - 如何在javascript / jquery中获取div的指定高度
- wordpress - 如何使用 wordpress 制作像 cambly 一样的网站
- python - 如何将模型字段添加到 django 模型