✅ Notizie, temi, plugin WEB e WordPress. Qui condividiamo suggerimenti e le migliori soluzioni per siti web.

Ottieni indirizzi utente in WordPress, parte 1

6

Supponiamo che tu stia lavorando a un progetto in cui desideri fornire all’utente la possibilità di scaricare tutti gli indirizzi e-mail dagli utenti che esistono nell’installazione di WordPress. Certo, questo ha alcuni requisiti:

  • Vuoi che lo facciano solo gli amministratori,
  • Deve essere sicuro tramite valori nonce,
  • Le risposte dovrebbero essere in JSON,
  • E vuoi usare JavaScript per inviare il file quando è pronto per il download.

Ognuno dei concetti di cui sopra è stato probabilmente trattato qui prima, ma cosa succede se stai cercando di legarli tutti insieme? Cioè, cosa succede se si desidera semplificare il download degli indirizzi e-mail degli utenti tramite JSON all’interno di WordPress da, ad esempio, un menu di amministrazione o un sottomenu?

Uno scatto obbligatorio di dove sto lavorando mentre scrivo questo post.

Ecco un modo per affrontare questo problema. Nota che presuppone che tu abbia una certa conoscenza di quanto sopra, ma farò il possibile per coprire ciascuno dei precedenti.

Scarica gli indirizzi e-mail degli utenti tramite JSON

Prima di iniziare, tieni presente che lo sto configurando per funzionare ogni volta che un utente fa clic su un sottomenu nel  menu Strumenti in WordPress.

Il modo in cui imposti i tuoi ganci può variare. Ho iniziato a usare un po’ di un particolare tipo di architettura che sta diventando sempre più standard nei progetti che uso sia per me stesso che che usiamo in Pressware, ma divago su questo per questo (forse fornirò alcune informazioni in questo più avanti).

Aggiunta di un sottomenu

Ad ogni modo, ecco come appare il codice per aggiungere il sottomenu.

È esattamente quello che ti aspetteresti, giusto? Se stai usando codice orientato agli oggetti, potresti (o meno, di nuovo, a seconda di come hai progettato la tua soluzione) dover usare un array per specificare un’istanza della classe corrente e il suo metodo.

Nota anche che non mi preoccuperò dell’internazionalizzazione nel contesto di questo post. Non è che non si possa fare; non è che non sia importante. Si tratta di cercare di mantenere il post il più snello possibile.

Registrazione del JavaScript

Suppongo che tu abbia un  file exportEmail.js situato nel tuo profilo e questo è il file che sarà responsabile della query sul lato server e della restituzione del file per il download.

La prima cosa da fare è registrare in modo sicuro JavaScript sul lato server utilizzando le funzioni API standard :

Una volta fatto, puoi scrivere il JavaScript che chiamerà il lato server. Ma questo è un passaggio in due parti: include sia JavaScript che altro codice lato server.

Il lato client che chiama il lato server

Poiché sono disponibili le basi per chiamare il lato server, è possibile impostare JavaScript ora.

Innanzitutto, c’è il gestore dei clic :

$('a[href="tools.php?page=acme-export-emails"]').on('click', function(evt){ evt.preventDefault(); _getEmailAddresses($(this)); });

La chiamata iniziale di ricezione dovrebbe assomigliare a questa :

var _getEmailAddresses = function($elem) { $.get(acme_email_export.ajax_url, { security: acme_email_export.security, action: 'getEmailAddresses' }, function(response) { if ('' === response) { return; } // TODO... }); };

Si noti che utilizza il valore di sicurezza che abbiamo creato in precedenza e quindi utilizza il nome di un’altra funzione, ovvero getEmailAddresses, che sta chiamando sul lato server.

Questa funzione è responsabile dell’esecuzione di una query, dell’acquisizione degli indirizzi e-mail e della scrittura di un file JSON temporaneo da restituire all’utente.

1 Ottieni gli indirizzi e-mail degli utenti

Innanzitutto, WP_User_Query consentirà di ritirare tutti gli utenti per determinati criteri.

Ai fini di questo esempio, sto ovviamente andando alla leggera sugli argomenti.

2 Analizza l’e-mail dai risultati

Successivamente, scorrerò i risultati e memorizzerò gli indirizzi e-mail in un array (che alla fine convertirò in JSON).

Nota che ci sono altri modi per farlo. Questo è solo un modo per farlo per un set di dati più piccolo, ma se stai lavorando per qualcosa di un po’ più grande, ti consiglio un’alternativa (che va oltre lo scopo di questo post).

Avanti il ​​prossimo

Ovviamente, questa è solo la prima parte di come cablare tutto questo.

Nel prossimo post tratterò:

  • convertire le informazioni restituite in JSON,
  • scrivendo quel file su disco,
  • e come legare il resto insieme usando JavaScript.

Il passaggio finale includerà la creazione di un elemento e quindi l’attivazione del relativo evento clic in modo che all’utente venga presentata la finestra di dialogo di download anziché il testo effettivo in una finestra del browser.

Fonte di registrazione: tommcfarlin.com

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More