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



我有一个用户元密钥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;}

由于将其存储为序列化数据,您无法获取并使用一个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.'%'));

最新更新