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

Aggiunta post a un sito front-end utilizzando AJAX

by
Difficulty:IntermediateLength:LongLanguages:

Italian (Italiano) translation by Mirko Pizii (you can also view the original English article)

WordPress si divide fondamentalmente in due parti, la sezione di front-end dove le persone possono venire e leggere i messaggi o articoli sul sito. L'altra è la sezione di admin di WordPress da cui si possono creare post e pagine. Questo funziona molto bene se WordPress è usato come un sito di blogging generale. Ma come WordPress viene utilizzato per diversi tipi di siti a volte diventa necessario dare all'utente un modo per creare post dal front-end del sito senza costringendolo ad andare nella sezione admin di WordPress.

In questo tutorial che ci accingiamo a vedere come creare un widget per consentire agli utenti di creare i post dal front-end. Questo aiuterà gli utenti del sito per creare il contenuto.


Fase 1 creazione del Plugin

Per creare un plugin, è possibile creare un file ajaxpostfromfront.php nella cartella wp-content/plugins/ajaxpostfromfront. Per creare un plugin in WordPress dobbiamo aggiungere l'intestazione plugin come segue:

Si definirà anche alcune costanti denominate per nostro plugin base URL e il percorso di plugin come segue:

Questo ci aiuterà a utilizzarli facilmente dove serve nel plugin. Anche creare una cartella js nella cartella ajaxpostfromfront e aggiungere un file apf.js in esso. Così la struttura della cartella del plugin sarebbe come segue:

Ci sarà ora accodare gli script di aggancio al gancio di azione 'wp_enqueue_scripts' e accodare i nostri file javascript e localizzarlo per memorizzare l'URL di WordPress ajax che useremo per le nostre chiamate ajax.

Se tutto è andato bene fino ad ora saremo in grado di vedere il nostro plugin nell'elenco plugin e noi dovremmo attivarlo.


Fase 2 la comprensione delle funzioni di WordPress per creare un nuovo Post

WordPress ha un ricco set di API o funzioni che sono esposte per eseguire attività di plugin. Ha funzioni per tutti i tipi di attività quali la creazione di un post, creazione di una pagina, commenti ecc. In questo plugin, ci accingiamo a utilizzare il wp_insert_post di funzione di WordPress.

wp_insert_post prende in una matrice delle diverse informazioni necessarie per creare un post in WordPress. Si impiegano in diversi parametri come il titolo del post, post contenuto, stato post, ecc. Ci vuole anche nella matrice di categorie che devono essere associati con il post. Esso contiene inoltre alcuni altri parametri come password di post e post di Estratto ecc.

Per un elenco completo dei parametri, visitate la pagina wp_insert_post nel WordPress Codex.


Fase 3 creazione dell'interfaccia utente per creare Post da Front-End

Avanti che ci accingiamo a creare l'interfaccia utente per il nostro post da front-end plugin. Per questo ci accingiamo a scrivere la seguente funzione:

Nella funzione prima creiamo un modulo tramite il <form> Tag. In questo creeremo un div con ID apf-response che verrà aggiornato con il messaggio che viene dalla risposta AJAX che otterremo. Quindi abbiamo creato una casella di testo per il titolo e un'area di testo per il contenuto del post.

Quindi cerchiamo di creare un link chiamato 'Crea messaggio' che chiama un apfaddpost di funzione javascript che farà una chiamata AJAX per creare il post. Vedremo l'implementazione dell'AJAX chiamare passaggi qui sotto.

Nel caso in cui noi chiamiamo la funzione apf_post_form nei file del tema, si vedrà come segue. Nel mio tema mi hanno appena chiamato prima del ciclo principale.


Passo 4 creazione di un Widget per visualizzare l'interfaccia utente sul Front-End

Ora ci accingiamo a creare un widget per il nostro post da plugin anteriore. Questo widget visualizzerà l'interfaccia utente per la pubblicazione dalla parte anteriore che abbiamo creato. Di seguito è riportato il codice per il widget.

Nel costruttore diamo il nome di classe e la descrizione del widget. Nel modulo funzione attualmente che visualizziamo solo uno campo che è il titolo da visualizzare per il widget. Aggiorniamo il campo titolo nella funzione di aggiornamento.

Nella funzione widget otteniamo il titolo salvato nell'istanza della widget e visualizzare che. Poi chiamiamo la funzione apf_post_form che consente di visualizzare il modulo che abbiamo creato nel passaggio precedente.

Registreremo il widget come segue:

Ora possiamo trascinare e rilasciare il nostro nuovo widget nella barra laterale.

Una volta che il widget è caduto sulla barra laterale dovrebbe essere in grado di vedere il modulo nella home page nella barra laterale come segue:


Passo 5 Creazione di un Post tramite AJAX dal Front-End

Ora andiamo a creare una funzione per gestire la richiesta AJAX di creare il post. La funzione di gestire la richiesta AJAX è come segue:

In questa funzione si ottiene i valori del titolo e il contenuto dalla variabile $_POST. Con tali valori utilizzando la funzione wp_insert_post di WordPress per creare il post. La funzione wp_insert_post restituisce l'id del post appena creato se ha esito positivo e zero se non è riuscita. Così utilizzando tale valore abbiamo inviato un successo oppure un messaggio di errore di ritorno da l'AJAX.

Per registrare questa funzione con il sistema WordPress AJAX chiameremo le seguenti operazioni:

Una volta fatto il nostro gestore di AJAX abbiamo solo bisogno di fare la richiesta AJAX dal nostro codice javascript come segue:

In apfaddpost la funzione facciamo solo una richiesta AJAX, passando il titolo del post e il contenuto del post. Una volta ricevuta la risposta visualizziamo solo il messaggio restituito dal gestore AJAX nella div apf-response. Dopo che abbiamo reimpostare i valori nel modulo.

Dopo aver cliccato su Crea post che il post verrà creato e il messaggio sarà visto come segue:


Passo 6 aggiungendo l'opzione di locazione registrato solo nel Post di utenti

Ora aggiungiamo la funzionalità per consentire l'amministratore scegliere se non vogliono che gli utenti non connessi per creare post.

Per questo aggiorniamo i apf_post_form come segue per prendere un argomento $allowNotLoggedInuser. In tal caso quando l'utente non è connesso, non verrà visualizzato il modulo ma visualizzerà un messaggio per effettuare il login.

Aggiorneremo anche il widget per visualizzare un'altra opzione in funzione del form per visualizzare un campo Seleziona chiedendo se è permesso per non loggato agli utenti di pubblicare. Aggiorneremo anche i valori della funzione di aggiornamento. Nella funzione widget ora abbiamo letto il valore che è stato impostato nel widget e quindi passarla alla funzione apf_post_form.

Il codice del widget aggiornato dovrebbe assomigliare a questo:

Ora dal widget sono possiamo scegliere l'opzione per consentire se loggato utenti o no come indicato di seguito.

Ora, nel caso in cui l'opzione è impostata su no e qualcuno visita la home page senza effettuare il login vedranno il messaggio riportato di seguito per effettuare il login da inserire.


Passo 7 aggiungendo la possibilità di aggiungere categorie a Post tramite Widget di Front-End

Ora aggiungiamo la funzionalità per aggiungere categorie al post che stiamo creando dal front-end. Per raggiungere questo obiettivo in primo luogo sarà ottenere l'elenco di tutte le categorie e li Visualizza come caselle di controllo nell'interfaccia utente.

Per questo, aggiungiamo il seguente codice per la funzione apf_post_form.

Il codice sopra riportato solo ottiene l'elenco di tutte le categorie e li Visualizza come caselle di controllo. Tale valore viene passato al nostro apfaddpost di funzione javascript come parametro aggiuntivo.

La funzione apfaddpost otteniamo i valori che vengono controllati e passano nella chiamata AJAX come segue:

Dobbiamo aggiornare il gestore di AJAX come segue per prendere la matrice degli ID delle categorie e poi si passa alla funzione wp_insert_post, in modo che il post appena creato dispongono delle categorie in modo appropriato.

Ora se vediamo il widget si vedrà come segue:

E il messaggio creato eseguirà tali categorie selezionate associate con esso, come mostrato qui sotto.


Conclusione

WordPress è una piattaforma estendibile. Possiamo estendere WordPress per aggiungere funzionalità diverse a modo la piattaforma WordPress può essere utilizzata per diversi tipi di siti, anziché solo Blog. Come abbiamo aggiunto la funzionalità di creazione di post da front-end in questo plugin, WordPress può essere esteso in diversi modi. Così felice WordPress codifica!

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.