每当我注销时,我都希望从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');
?>
答案 0 :(得分:3)
最好不要直接与数据库进行交互,尤其是在发出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
OR
其他选项,例如,您可以使用Adminimize插件-Adminimize plugin