基于作为数组的键值删除用户元

时间:2017-12-21 07:19:52

标签: wordpress plugins

我有一个用户元键prize,这是一个包含prize typeprize date的数组。 unix时间戳中的日期。 如何通过仅指定奖品日期来删除用户元数据?

示例代码:

delete_user_meta( $userID, 'prize', $meta_value ); 
$meta_value = array(
    'prize' => array(
         // Add something here like prize date = 1506556467
    ) , 
);

数据库中的键值如下所示:

a:2:{i:0;s:17:"prize name";i:1;i:1506556467;}

1 个答案:

答案 0 :(得分:0)

由于它是作为序列化数据存储的,因此您无法使用一个delete_user_meta()函数来获取和删除它。

您可以使用MYSQL查询来执行此操作:

global $wpdb;
$userID=1;
$specified_date='1506556467';
$wpdb->query($wpdb->prepare("DELETE from $wpdb->usermeta 
where user_id= %d 
and meta_key='prize' 
and meta_value like %s",$userID,'%'.$specified_date.'%'));