Cerca
Filtra la ricerca ...
Frase esatta
Categorie

Come pubblicare un articolo WordPress da front end

WordPress è un CMS spesso utilizzato come testata giornalistica e spesso gli articoli sono scritti da diversi autori, WordPress ha la possibilità di avere utenti con diversi ruoli in modo tale che dopo il login anche la dashboard sia personalizzata e nasconda alcune parti del sito, poniamo invece di non voler dare l’accesso all’area amministrativa di WP ma di avere la necessità che siano scritti articoli.

Possiamo utilizzare la funzione wp_insert_post() per preparare un form da far compilare a front end, vediamo come fare.

Come prima cosa dichiariamo la variable $post che è globale

Siccome vogliamo far scegliere anche la categoria in cui pubblicare il post, scriviamo questo parte di codice che richiameremo dopo nel form

assistenza wordpress

Ora creiamo un div contenitore che mi imposta una classe diversa a seconda che l’utente sia loggato o no

Qui invece eseguiamo un’azione, ossiamo mostreremo degli avvisi dopo il submit del form

Ok ora prepariamo il form di inserimento del post, utilizzo la funzione is_user_logged_in() per mostrare il post solo se l’utente è loggato

Ok, a questo punto processo il form ed aggiungo del codice per validare i campi, nonchè i relativi avvisi

Come si può notare dal codice ho utilizzato “draft” qui ‘post_status’ => ‘draft’ , significa che ogni nuovo post verrà salvato come bozza, nel caso in cui volessimo pubblicarlo in automatico utilizzeremo “publish”

Adesso per vedere il form di inserimento è sufficiente creare una pagina ed incollarci lo shortcode [wpfepm-posting]

wp front end post

Potrebbe interessarti anche ...

Non fornisco assistenza gratuita sugli articoli che ho scritto nè personalizzo il codice in modo gratuito, se vuoi mi chiedi una consulenza nella sezione contatti. Se devi postare codice usa servizi come https://codeshare.io . Grazie della comprensione. Alessio

Lascia un commento

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.