Students Save 30%! Learn & create with unlimited courses & creative assets Students Save 30%! Save Now
Advertisement
  1. Code
  2. Creative Coding
Code

Usare Wordpress per lo sviluppo di applicazioni Web : Capendo Eventi, Azioni e Filtri

by
Difficulty:IntermediateLength:MediumLanguages:
This post is part of a series called Using WordPress for Web Application Development.
WordPress for Web App Development: The Conceptual Model
WordPress for Web App Development: User Management

Italian (Italiano) translation by Piergiorgio Sansone (you can also view the original English article)

Attraverso questa serie, stiamo vedendo come WordPress possa essere utilizzato per la costruzione di applicazioni web.

A questo punto , abbiamo stabilito che WordPress è una forndazione - piuttosto che un framework - e abbiamo parlato un pò di come dobbiamo cercare di evitare di calzare WordPress su un design pattern diverso dal suo nativo.

A tal fine , abbiamo stabilito che WordPress utilizza un design pattern event-driven , e che questo è rappresentato al meglio con il sistema di azioni e filtri.

Anche se l'obiettivo generale di questa serie è quello di fornire uno studio di come WordPress può essere utilizzato per lo sviluppo di applicazioni web, credo che sia importante dare uno sguardo ad alcuni esempi pratici di quanto realmente sia potente il sistema di aggancio, per capire quanto, da sviluppatori, siamo in grado di personalizzare WordPress per soddisfare i nostri bisogni.

Quindi in questo articolo, vedremo del codice che rappresenta alcune azioni comuni, che possono essere richiamate utilizzando ganci WordPress, così come alcune funzionalità leggermente non standard.

In ultima analisi, alla fine dell'articolo, si dovrebbe avere una chiara comprensione del perché sfruttando la natura event-driven di WordPress è la chiave per la creazione di applicazioni, e perché non dovremmo cercare di rendere WordPress ed i suoi pattern sottostanti in qualcosa che non sono.


Ganci : Azioni e Filtri

Nell'articolo precedente,abbiamo dato due definizioni - una specifica per le azioni ed una specifica per i ganci:

Le Azioni sono eventi nel ciclo di vita della pagina WordPress quando certe cose si sono verificate - alcune risorse vengono caricate, alcune strutture sono disponibili, e, a seconda di quanto velocemente si è verificata l'azione, alcune cose non sono ancora state caricate.

I Filtri sono funzioni che WordPress passa attraverso i dati durante certi punti del ciclo di vita della pagina. Principalmente sono responsabili della intercettazione, gestione e ritorno dei dati prima del rendering al browser o del salvataggio dei dati nel database dal browser.

Questa è la chiave per comprendere i due tipi di eventi di WordPress, perché ci stanno per essere volte in cui si desidera anticipare un processo, il follow-up di un processo, o manipolare le informazioni prima del rendering allo schermo.

Conoscere la differenza tra azioni e filtri è la chiave nella costruzione di applicazioni , plugin e temi in WordPress.

A tal fine, accantoniamo per un attimo la discussione sul perché WordPress può essere utilizzato per le applicazioni web, e diamo un'occhiata più in dettaglio a diverse azioni e filtri per fare in modo di  capire come funziona il sistema di eventi, il tipo di cose che possiamo fare,sperando che la creatività scorra e ci consenta capire come questi possono essere usati per creare un'esperienza più personalizzata.

Azioni Comuni

In primo luogo, daremo uno sguardo a diverse azioni ciascuna dei quali aumenta in complessità rispetto alla precedente, al fine di contribuire a dimostrare quanto le azioni possono diventare potenti .

1.Aggiungiamo un JavaScript nell'Header

Quest'azione è cosi comume che sembra scritta addirittura da uno sviluppatore di livello intermedio. Eppure, il punto rimane: Questo è un esempio di un'azione WordPress classica che viene utilizzato in quasi ogni tipo di tema esistente.

In breve, si avvale del gancio wp_enqueue_scripts. Questa si esegue nella sequenza di caricamento della pagina e consente a WordPress quali file sorgenti deve includere come pure dove deve includerli (nella testata o nel pie di pagina).

Questo è sufficiente  per capire, giusto?

Prendete lo script del tema example.js dalla directory JavaScript, assicuratevi che sia collegato a jQuery già caricato in precedenza, si noti che è la versione 1.0.0 dello script, e noi non vogliamo caricarlo nel piè di pagina.

2. Configurate il link Leggi tutto

A scatola chiusa, WordPress offre la possibilità di aggiungere un link 'Leggi tutto' o 'Continua a leggere' che è raggiungibile utilizzando il tag <!--more--> nel editor del post.

E' possibile assegnargli uno Stile utilizzando gli stili nativi, ma lasciatemi dire che se avete intenzione di aggiungere codice che lo renderà in sintonia con il tema , è facile da integrare con un responsive design o qualcosa di simile.

Puoi utilizzare la seguente azione :

Nota che ci stiamo agganciando in the_content_more_link che accetta l'ancora ed il testo per diversi link.

All'interno della funzione, poi conteniamo il link all'interno del suo div container , in modo da avere il controllo sullo stile del lik.

3.Recupero del nome della persona via Ajax

Questo particolare esempio presume che stiate utilizzando Ajax nel progetto e che abbiate gia configurato le attrezzature appropriate che consentano di effettuare richieste asincrone.

Ciò presuppone anche che i dati che vengono inviati lato client al server, contengano l'ID di un utente per il quale si desidera che venga restiutito il nome.

Quindi nell'esmpio sopra , prima di tutto verifichiamo che lo user_id sia contenuto nella collezione di dati della $_GET , e ,se cosi fosse, allora tenteremo di recuperare il nome utente dall'ID.

Se l'utente esistesse , allora visualizzeremo il primo nome dell'utente al client, altrimenti, visualizzeremo il '-1'. Questo allora ci dà la flessibilità necessaria per rispondere in modo appropriato sul lato client.

Filtri Comuni

Proprio come abbiamo fatto con le azioni di cui sopra, daremo uno sguardo a diversi filtri, ciascuno dei quali aumenta leggermente in complessità, cosi da essere in grado di vedere alcune delle cose che possiamo fare con i filtri che ci garantiscono una maggiore flessibilità all'interno dei nostri progetti di WordPress.

1.Aggiunta di contenuti ad un messaggio singolo

Anche se il titolo di questa particolare azione dovrebbe essere abbastanza chiaro, diciamo che vogliamo aggiungere una frase nella parte inferiore di ogni post sul nostro blog, ma desideriamo farlo solo su singoli messaggi.

Ciò potrebbe essere ottenuto con il codice seguente :

Questo è abbastanza chiaro da capire , giusto?

il filtro the_content passa il contenuto attuale del post alla funzione agganciata. Da li, siamo liberi di manipolare i dati nel modo che riteniamo più opportuno.

Nel nostro caso, per prima cosa controlliamo se sia una singola pagina. se cosi fosse , aggiungeremmo un container post-suffix con una singola frase , aggiungendola al contenuto, per poi restituirlo.

Se non fosse un singolo post, allora il contenuto verrebbe restituito come normale.

2 . Reindirizzare gli utenti dopo l'accesso.

Un altro tipo di filtro di cui vorrete fare uso è reindirizzare gli utenti dopo il loro accesso all'applicazione.

Per esempio, se sono un amministratore dovrei essere reindirizzato al post dashboard; altrimenti dovrei essere reindirizzato alla home page del sito.

Per raggiungere questo obiettivo, possiamo sfruttare il filtro login_redirect:

Nel codice sopra, abbiamo fornito un filtro personalizzato nel gancio login_redirect che esegue le seguenti:

  • Se l'utente è un amministratore, lo reindirizzo alla dashboard
  • Altrimenti, lo reindirizza alla home_url del sito.

Abbastanza semplice.

Anche se è un esmpio estemamente semplice, che dovrebbe farti pensare di più delle cose più avanzate in base al ruolo dell'utente o alle sue capacità.

Ad esempio, piuttosto che indirizzarli verso alcuni aspetti dell'applicazione, potreste  mostrare loro parti delle informazioni sulla base, ad esempio, dei loro ruoli.

3. Personalizzare le emails

Questo particolare esempio è un pò più complicato perchè la chiamata add_filters viene fatta nel contensto di un'altra funzione richiamata da una terza parte.

In particolare, stiamo per inaviare una email, ma vogliamo essere sicuri di aver personalizzato il Content type, il contenuto del mittente e il nome del mittente, prima di inviare il contenuto.

Per fare questo , abbiamo bisogno prima di tutto di definire una funzione :

Dopo di chè, abbiamo bisogno di definire funzioni agganciate ai filtri specificati sopra. Cioè...

  • wp_mail_content_type
  • wp_mail_from
  • wp_mail_from_name

Come potete vedere,i filtri possono complicarsi in tempi relativamente brevi, ma sono potenti e se si capisce che cosa si sta facendo, e come tutti i pezzi si incastrano, per così dire, allora si può davvero fare alcune cose incredibili.


Solo l'inizio

Come la maggior parte tutorial ed esempi su questo sito, stiamo solo grattando la superficie di ciò che può essere fatto utilizzando il sistema di aggancio WordPress.

Naturalmente, questi esempi sono destinati ad essere solo che - esempi di come le azioni potenti e filtri possono essere quando si tratta di personalizzare l'esperienza di WordPress.

Anche se questo particolare articolo e il codice di esempio sono destinati a servire come un esempio pratico di alcune delle cose che si possono fare, non sono destinate ad essere la guida definitiva per lavorare con ganci.

Al contrario, essi hanno lo scopo di mostrarci come possiamo sfruttare ciò che è disponibile nelle API di WordPress per la costruzione di una applicazione web.


Nel prossimo articolo...

Nel prossiomo articolo , inizieremo a vedere diverse strutture fornite da WordPress a scatola chiusa. Vedremo come sono utili nella costruzione di applicazioni web, che infuenza avranno per il nostro specifico lavoro e come possono essere utili nella creazione di applicazioni web.

Dopo di che, daremo uno sguardo a come molte di queste caratteristiche funzionano bene nel contesto di una applicazione web, e come possiamo usare i ganci per personalizzare ulteriormente il comportamento che essi forniscono.

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.