Come creare post e pagine in modo programmatico in WordPress

Pubblicato: 2021-09-16

Cerchi un'alternativa per aggiungere post e pagine al tuo sito? Sei nel posto giusto. In questa guida, ti mostreremo come creare post e pagine in modo programmatico in WordPress .

Essendo il più grande sistema di gestione dei contenuti (CMS) al mondo, pubblicare post e pagine è una delle sue caratteristiche principali. Inizialmente, WordPress è stato creato per aiutare i proprietari di siti Web a creare e gestire i propri siti. Oggi è diventata una soluzione completa per tutti i tipi di siti.

Oltre ad essere popolari tra i blog e i negozi online, ci sono molti altri tipi di siti Web creati con WordPress, dai cataloghi alle directory, alle bacheche di lavoro, ai wiki, ai portafogli personali, ai forum o persino ai social network.

Tutti i siti web (tranne i siti statici) pubblicano alcuni tipi di contenuti con una certa frequenza. I post e le pagine sono il tipo di contenuto più semplice rispetto ad altri tipi come prodotti, commenti, recensioni e altro.

Prima di vedere perché e come creare post e pagine in modo programmatico, capiamo meglio le differenze tra di loro. Questo ti aiuterà a seguire le buone pratiche ed evitare possibili problemi.

Differenza tra post e pagine

1) Messaggi

In WordPress, i post sono il modo in cui un sito Web offre contenuti preziosi e aggiornati ai suoi utenti. Ci si aspetta che un sito web pubblichi post regolarmente, ma varia molto a seconda del tipo di sito. Un blog di notizie pubblicherà contenuti molto più spesso di un sito aziendale, quindi il numero di post su un sito Web può variare molto.

I post sono comunemente elencati in ordine cronologico inverso sui siti web. Ciò significa che l'ultimo post pubblicato sarà visibile in cima all'elenco. Ma puoi anche rendere un post appiccicoso e mostrarlo permanentemente da qualche parte sul tuo sito web.

Quando si dispone di un sito di grandi dimensioni con centinaia o addirittura migliaia di post, l'uso corretto delle tassonomie è fondamentale per consentire agli utenti di trovare facilmente qualsiasi post. Tieni presente che navigheranno tra categorie e sottocategorie, guarderanno l'elenco dei tag e utilizzeranno la casella di ricerca. Per ulteriori informazioni a riguardo, dai un'occhiata al nostro post su come aggiungere categorie al menu.

2) Pagine

A differenza dei post, le pagine sono pensate per essere più statiche dei post. Tuttavia, spesso includono contenuti costantemente aggiornati. Ad esempio, una pagina del negozio o una pagina di categoria avrà sicuramente contenuto aggiornato, ma sono comunque pagine perché non pubblichi una nuova pagina del negozio per ogni aggiornamento del prodotto.

Pagine come "Chi siamo", "Chi siamo", "Contatti" o "Documentazione" sono principalmente contenuti statici, quindi di solito non vengono aggiornati molto spesso.

Un'altra differenza tra post e pagine sono i tag e le categorie. I post possono avere categorie e tag per facilitare la loro organizzazione e per essere utilizzati nelle caselle di ricerca, mentre le pagine sono prive di tassonomie.

Per ulteriori informazioni a riguardo, consulta la nostra guida che spiega diversi modi per creare pagine. Inoltre, ti consigliamo di dare un'occhiata al nostro tutorial per cambiare il tipo di post in WordPress.

Perché creare post e pagine in modo programmatico?

Probabilmente sai come creare post e pagine dalla dashboard di WordPress. Devi semplicemente andare su Post/Pagine > Aggiungi nuovo e aggiungere un nome, contenuto, scegliere una categoria e così via.

Tuttavia, se stai lavorando a un progetto più avanzato, potresti aver bisogno di una soluzione alternativa. Ad esempio, se è necessario automatizzare il processo di pubblicazione per soddisfare un requisito specifico o limitare l'accesso per determinati utenti. Se questo è il tuo caso, imparare a creare post e pagine WordPress in modo programmatico sarà molto utile.

Come pubblicare post e pagine di WordPress in modo programmatico

In questa sezione, ti mostreremo come creare post e pagine in modo programmatico in WordPress. Spiegheremo il codice di seguito, ma si consiglia di avere alcune capacità di programmazione per semplificare il processo.

NOTA : poiché modificheremo alcuni file principali, prima di iniziare, ti consigliamo di eseguire il backup del tuo sito. Inoltre, crea un tema figlio se non ne hai ancora uno o utilizza uno di questi plugin per temi figlio.

Come pubblicare post

Ecco lo script completo che pubblicherà automaticamente un post e la spiegazione del codice qui sotto. Tieni presente che devi incollare il codice nel file functions.php del tuo tema figlio

 add_action('admin_init', 'QuadLayers_publish_post');

funzione QuadLayers_publish_post() {
 
    if ( get_option( 'post_is_published_01' ) != 'yes' ) {
		 $postType = 'post'; 
		 $ID utente = 1; 
		 $categoriaID = '1'; 
		 $postStatus = 'pubblica';  
		 $leadTitle = 'Un post è stato pubblicato '.date("n/g/Y");
		 $leadContent = '<h1>Pubblicato in modo programmatico</h1><p>Questo post è stato pubblicato in modo programmatico e la meta opzione è stata salvata come <b>post_is_published_01</b>. Uno srcipt PHP nel file functions.php del tema figlio.</p>';
		 $leadContent .= ' <!--more--><p>Sono costosi, ma ne vale la pena.</p>';
		 
		 # costruire ora e data
		 $timeStamp = $contatoreminuti = 0;  
		 $iContatore = 1; 
		 $minutoIncremento = 1; 
		 $regolaMinutiOrologio = 0; 
		 $contatoreminuti = $contatorei * $incrementiminuti; 
		 $contatoreminuti = $contatoreminuti + $regolazioneorologiominuti; 
		 $timeStamp = date('Ymd H:i:s', strtotime("+$contatoreminuti min")); 

	 	 # costruisci post
		 $nuovo_post = array(
		 'post_title' => $leadTitle,
		 'post_content' => $leadContent,
		 'post_status' => $postStatus,
		 'post_date' => $timeStamp,
		 'post_author' => $userID,
		 'post_type' => $postType,
		 'post_category' => array($categoryID)
		 );	
		 # pubblicalo!
		 $post_id = wp_insert_post($nuovo_post);

  update_option('post_is_published_01', 'yes');
    }
}

Poiché non possiamo sapere se esiste un post prima di pubblicarlo, dobbiamo registrarci in un luogo in cui il nostro post è stato pubblicato. Se non lo facciamo, il nostro post verrà pubblicato ogni volta che viene caricata una schermata di back-end.

La tabella delle opzioni del database è il posto corretto per farlo. Stiamo archiviando un'opzione chiamata post_is_published_01 dopo aver pubblicato il post, con la funzione update_option() . E controllando se l'opzione esiste con get_option() . Se questa opzione è presente nel database, lo script non farà nulla.

Per eseguire nuovamente lo script puoi semplicemente cambiare il nome dell'opzione in post_is_published_02 o come preferisci.

All'interno del condizionale if() , puoi vedere come definiamo il contenuto del post sul primo blocco. E dobbiamo preparare l'ora e la data per soddisfare i requisiti di WordPress.

Infine la funzione preposta al post publishing è wp_insert_post() , che allega tutti i dati precedenti dichiarati nella funzione

pubblicare post in modo programmatico

Come pubblicare le pagine

La pubblicazione delle pagine a livello di codice è un po' più semplice. In questo script, non avremo un'opzione di database per verificare se la pagina è già stata pubblicata.

Poiché le pagine hanno una funzione diversa dai post e le funzioni di WordPress per i post e le pagine sono diverse, possiamo utilizzare la funzione get_page_by_title() per verificare se abbiamo già pubblicato una pagina con lo stesso titolo. E poi inseriamo le informazioni sulla pagina come autore, titolo, nome e così via.

Utilizza il seguente script per pubblicare una pagina sul tuo sito Web WordPress:

 add_action( 'admin_init', 'QuadLayers_publish_page' );

funzione QuadLayers_publish_page(){
	$check_page_exist = get_page_by_title('Pagina pubblicata programmaticamente', 'OBJECT', 'page');
	if(vuoto($check_page_exist)) {
		$page_id = wp_insert_post(
			Vettore(
			'comment_status' => 'chiudi',
			'ping_status' => 'chiudi',
			'post_author' => 1,
			'post_title' => ucwords('Pagina pubblicata programmaticamente'),
			'post_name' => strtolower(str_replace(' ', '-', trim('Pagina pubblicata a livello di programmazione'))),
			'post_status' => 'pubblica',
			'post_content' => '<p>Questo è il contenuto della pagina, qui sono consentiti i tag html</p>', 
                        'post_type' => 'page', 'post_parent' => 'id_of_the_parent_page_if_it_available' ) ); 
        } 
} 

pubblicare la pagina in modo programmatico

Conclusione

In sintesi, in questa guida abbiamo visto alcune differenze chiave tra post e pagine. I post tendono ad essere più dinamici e hanno tassonomie e categorie, mentre le pagine tendono ad essere più statiche e non hanno tassonomie.

Anche se in WordPress puoi creare facilmente pagine e post con l'editor integrato, imparare a farlo con un po' di programmazione può essere utile in alcune situazioni per automatizzare il processo di pubblicazione per soddisfare requisiti specifici. Se questo è il tuo caso, imparare a creare post e pagine in modo programmatico può semplificarti la vita.

In questa guida abbiamo visto come creare post e pagine e le differenze negli script. Ti invitiamo a prendere questi script come base e personalizzarli per il tuo sito.

Hai provato a creare post e pagine con un po' di codice? Ha funzionato come ti aspettavi? Fatecelo sapere nella sezione commenti qui sotto!

Se questo articolo ti è piaciuto, potrebbero interessarti anche:

  • Come reindirizzare una pagina WordPress
  • Come convertire il tipo di post in WordPress
  • Guida per creare un tipo di post personalizzato WordPress in modo programmatico