Crea e registra una richiesta dell'utente per eseguire un'azione specifica.

Descrizione

Le richieste sono memorizzate all'interno di un tipo di post denominato user_request poiché possono riguardare sia gli utenti del sito, sia gli ospiti senza account.

Parametri

$indirizzo_email

(stringa)(Opzionale)Indirizzo e-mail dell'utente. Può essere l'indirizzo di un utente registrato o non registrato.

Valore predefinito: ''

Nome_azione

(stringa)(Opzionale)Nome dell'azione che si sta confermando. Richiesto.

Valore predefinito: ''

$dati_richiesta

(array)(Opzionale)Dati vari che si desidera inviare con la richiesta di verifica e passare alle azioni una volta confermata la richiesta.

Valore predefinito: array()

$stato

(stringa)(Opzionale)stato della richiesta (in attesa o confermata).

Valore predefinito: "in attesa".

Ritorno

(int|WP_Errore) Restituisce l'ID della richiesta in caso di successo o un oggetto WP_Error in caso di fallimento.

Fonte

File: wp-includes/user.php

functionwp_create_user_request($email_address='',$action_name='',$request_data=array(),$status='pending'){$email_address=sanitize_email($email_address);$action_name=sanitize_key($action_name);if(!is_email($email_address)){returnnewWP_Error('invalid_email',__('Invalid email address.'));}if(!in_array($action_name,_wp_privacy_action_request_types(),true)){returnnewWP_Error('invalid_action',__('Invalid action name.'));}if(!in_array($status,array('pending','confirmed'),true)){returnnewWP_Error('invalid_status',__('Invalid request status.'));}$user=get_user_by('email',$email_address);$user_id=$user&&!is_wp_error($user)?$user->ID:0;// Check for duplicates.$requests_query=newWP_Query(array('post_type'=>'user_request','post_name__in'=>array($action_name),// Action name stored in post_name column.'title'=>$email_address,// Email address stored in post_title column.'post_status'=>array('request-pending','request-confirmed',),'fields'=>'ids',));if($requests_query->found_posts){returnnewWP_Error('duplicate_request',__('An incomplete personal data request for this email address already exists.'));}$request_id=wp_insert_post(array('post_author'=>$user_id,'post_name'=>$action_name,'post_title'=>$email_address,'post_content'=>wp_json_encode($request_data),'post_status'=>'request-'.$status,'post_type'=>'user_request','post_date'=>current_time('mysql',false),'post_date_gmt'=>current_time('mysql',true),),true);return$request_id;}

Correlato

Utilizzi

Usi Descrizione
wp-includes/user.php: _wp_privacy_action_request_types()

Ottiene tutti i tipi di richiesta di dati personali.

wp-includes/functions.php: wp_json_encode()

Codifica una variabile in JSON, con alcuni controlli di correttezza.

wp-includes/l10n.php: __()

Recupera la traduzione di $testo.

wp-includes/formatting.php: sanitizzare_email()

Elimina tutti i caratteri non consentiti in un'email.

wp-includes/formatting.php: is_email()

Verifica che un'email sia valida.

wp-includes/formatting.php: sanitize_key()

Sanifica una chiave stringa.

wp-includes/pluggable.php: get_user_by()

Recupera le informazioni sull'utente in base a un determinato campo

wp-includes/class-wp-query.php: WP_Query::__construct()

Costruttore.

wp-includes/functions.php: ora_corrente()

Recupera l'ora corrente in base al tipo specificato.

wp-includes/post.php: wp_insert_post()

Inserisce o aggiorna un post.

wp-includes/load.php: is_wp_error()

Controlla se la variabile data è un errore di WordPress.

wp-includes/class-wp-error.php: WP_Error::__construct()

Inizializza l'errore.

Utilizzato da

Usato da Descrizione
wp-admin/includes/privacy-tools.php: _wp_personal_data_handle_actions()

Gestisce le azioni della tabella degli elenchi.

Changelog

Versione Descrizione
5.7.0 Aggiunge l'opzione $status .
4.9.6 Introdotto.