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

问题描述 投票:0回答:1

我有一个用户元键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;}
wordpress plugins
1个回答
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.'%'));
© www.soinside.com 2019 - 2024. All rights reserved.