wp_ajax_wp_privacy_erase_personal_data()

处理通过AJAX擦除个人数据。

来源

函数wp_ajax_wp_privacy_erase_personal_data(){if(空($_POST['id']){wp_send_json_error(__('缺少请求ID'));}$request_id=(int)$_POST['id'];if($request_id<1){wp_send_json_error(__('无效请求ID'));}//为了避免混淆,这两种功能都是必需的,请参见“_wp_personal_data_removal_page()”。如果(!current_user_can('erase_others_personal_data')|!current_user_can('删除用户'){wp_send_json_error(__('对不起,您不能执行此操作。'));}check_ajax_referer('wp-privacy-erase-personal-data-'.$request_id,'security');//获取请求。$request=wp_get_user_request($request_id);if(!$request | |'remove_personal_data'!==$request->action_name){wp_send_json_error(__('无效请求类型'));}$email_address=$request->email;if(!is_email($email_address)){wp_send_json_error(__('请求中的电子邮件地址无效'));}if(!isset($_POST['eraser'])){wp_send_json_error(__('缺少橡皮擦索引'));}$eraser_index=(int)$_POST['eraser'];if(!isset($_POST['page']){wp_send_json_error(__('缺少页面索引。'));}$page=(int)$_POST['page'];/***过滤个人数据擦除回调数组。**@自4.9.6起**@param数组$args{*一组可调用的个人数据橡皮擦。默认空数组。**@type数组$0 {*个人数据导出器阵列。**@type callable$callback接受电子邮件地址和页面的可调用橡皮擦*number,并返回一个包含布尔值的数组*项目是否被删除或保留以及任何消息*来自橡皮擦,以及如果有其他页面*可用。*@type string$exporter_friendly_name翻译的橡皮擦友好名称。*     }* }*/$erasers=应用过滤器('wp_privacy_personal_data_erasers',array());//我们有注册橡皮擦吗?if(0<计数($橡皮擦)){if($eraser_index<1){wp_send_json_error(__('橡皮擦索引不能小于1。'));}if($eraser_index>count($橡皮擦)){wp_send_json_error(__('橡皮擦索引超出范围。'));}如果($page<1){wp_send_json_error(__('页面索引不能小于1。'));}$eraser_keys=数组键($erasers);$eraser_key=$橡皮擦键[$eraser_索引-1];$eraser=$erasers[$eraser_key];if(!is_array($eraser)){/*转换器:%d:橡皮擦数组索引*/wp_send_json_error(sprintf(__('需要一个数组来描述索引%d处的橡皮擦'),$eraser_index));}如果(!array_key_exists('eraser_friendly_name',$eraser)){/*转换器:%d:橡皮擦数组索引*/wp_send_json_error(sprintf(__('索引%d处的橡皮擦数组不包含友好名称。'),$Eraser_index));}$eraser_friendly_name=$eraser['eraser_foriendly_name'];if(!array_key_exists('callback',$eraser)){wp_send_json_error(wp_send_json_error)(冲刺(/*转换器:%s:橡皮擦友好名称*/__('橡皮擦不包括回调:%s。'),esc_html($eraser_friendly_name)));}if(!is_callable($橡皮擦['callback'])){wp_send_json错误(冲刺(/*转换器:%s:橡皮擦友好名称*/__('橡皮擦回调无效:%s。'),esc_html($eraser_friendly_name)));}$callback=$eraser['callback'];$response=call_user_func($callback,$email_address,$page);if(iswp_error($response)){wp_send_json_error($response);}if(!is_array($response)){wp_send_json错误(冲刺(/*翻译:1:橡皮擦友好名称,2:橡皮刀数组索引*/__('未从%1$s橡皮擦(索引%2$d)接收数组。'),esc_html($eraser_friendly_name),$橡皮擦索引));}如果(!array_key_exists('items_removed',$response)){wp_send_json错误(冲刺(/*翻译:1:橡皮擦友好名称,2:橡皮刀数组索引*/__('来自%1$s橡皮擦(索引%2$d)的响应数组中需要items_removed键。'),esc_html($eraser_friendly_name),$橡皮擦索引));}如果(!array_key_exists('items_retained',$response)){wp_send_json错误(冲刺(/*翻译:1:橡皮擦友好名称,2:橡皮刀数组索引*/__('来自%1$s橡皮擦(索引%2$d)的响应数组中需要items_retained键。'),esc_html($eraser_friendly_name),$橡皮擦索引));}if(!array_key_exists(“消息”,$response)){wp_send_json错误(冲刺(/*翻译:1:橡皮擦友好名称,2:橡皮刀数组索引*/__('来自%1$s橡皮擦(索引%2$d)的响应数组中需要消息键。'),esc_html($eraser_friendly_name),$橡皮擦索引));}if(!is_array($response['messages'])){wp_send_json_error(wp_send_json_error)(冲刺(/*翻译:1:橡皮擦友好名称,2:橡皮刀数组索引*/__('需要消息键来引用来自%1$s橡皮擦(索引%2$d)的响应数组中的数组'),esc_html($eraser_friendly_name),$橡皮擦_索引));}如果(!array_key_exists('done',$response)){wp_send_json错误(冲刺(/*翻译:1:橡皮擦友好名称,2:橡皮刀数组索引*/__('来自%1$s橡皮擦(索引%2$d)的响应数组中需要done标志。'),esc_html($eraser_friendly_name),$橡皮擦索引));}}其他{//没有橡皮擦,所以我们结束了。$eraser_key=“”;$response=数组(“items_removed”=>假,“items_retained”=>错误,“消息”=>数组(),“done”=>true,);}/***过滤个人数据擦除器数据的页面。**允许除Ajax之外的目的地使用擦除响应。**@自4.9.6起**@param数组$response{*给定出口商的个人数据和页码。**@type bool$items_removed是否确实删除了项。*@type bool$items_retained是否保留项目。*@type string[]$messages要添加到个人数据导出文件中的消息数组。*@type bool$done橡皮擦是否完成。* }*@param int$eraser_index提供此数据的橡皮擦的索引。*@param string$email_address与此个人数据关联的电子邮件地址。*@param int$page此响应的页码。*@param int$request_id与此请求关联的隐私请求帖子id。*@param string$eraser_key提供此数据的橡皮擦的键(slug)。*/$response=应用过滤器('wp_privacy_personal_data_erasure_page',$responde,$eraser_index,$email_address,$page,$request_id,$eraser_key);if(iswp_error($response)){wp_send_json_error($response);}wp_send_json_success($response);}

挂钩

应用筛选器('wp_privacy_personal_data_erasers',阵列 $个参数 )

过滤个人数据擦除器回调的数组。

应用筛选器('wp_privacy_personal_data_erasure_page',阵列 $响应,整数 $橡皮擦索引,一串 $email_address(电子邮件地址),整数 $页,整数 $请求id,一串 $橡皮擦键 )

过滤个人数据擦除器数据的页面。

变更日志

版本描述
4.9.6介绍。

用户贡献的笔记

你必须登录在能够发表注释或反馈之前。