Apprezzeremmo il vostro supporto per estendere le nostre cronache riguardanti l'informatica.
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. |
Ecco i commenti e le valutazioni
Hai la possibilità di aggiungere valore ai nostri contenuti informativi pagando la tua anzianità nelle note.