WordPress
Crea un post programmaticamente
Ricerca…
Sintassi
- wp_insert_post (array $ args, bool $ wp_error);
Parametri
Parametro | Descrizione |
---|---|
$ args (array richiesto) | Una matrice di valori chiave degli elementi sottostanti. |
$ wp_error (Boolean Opzionale) | Restituisce un WP_Error in caso di errore. |
Osservazioni
argomenti
La tabella successiva mostra un elenco di elementi che è possibile utilizzare all'interno del primo parametro (matrice).
Parametro | Descrizione |
---|---|
ID | (Int) L'ID del post. Se uguale a qualcosa diverso da 0, il post con quell'ID verrà aggiornato. Predefinito 0. |
post_author | (Int) L'ID dell'utente che ha aggiunto il post. L'impostazione predefinita è l'ID utente corrente. |
data di pubblicazione | (Stringa) La data del post. L'impostazione predefinita è l'ora corrente. |
post_date_gmt | (Stringa) La data del post nel fuso orario GMT. L'impostazione predefinita è il valore di $ post_date. |
POST_CONTENT | (Misto) Il contenuto del post. Predefinito vuoto. |
post_content_filtered | (String) Il contenuto del messaggio filtrato. Predefinito vuoto. |
titolo del post | (String) Il titolo del post. Predefinito vuoto. |
post_category | (Array) Matrice di valori di categoria post. |
post_excerpt (String) L'estratto del post. Predefinito vuoto. | |
post_status | (String) Lo stato del post. Bozza predefinita. |
post_type | (String) Il tipo di post. Post predefinito |
comment_status | (Stringa) Se il post può accettare commenti. Accetta aperto o chiuso. L'impostazione predefinita è il valore dell'opzione default_comment_status. |
ping_status | (Stringa) Se il post può accettare ping. Accetta aperto o chiuso. L'impostazione predefinita è il valore dell'opzione default_ping_status. |
post_password | (String) La password per accedere al post. Predefinito vuoto. |
POST_NAME | (String) Il nome del post o slug. L'impostazione predefinita è il titolo del messaggio sterilizzato durante la creazione di un nuovo post. |
to_ping | (String) Elenco separato da URL di ritorno spazio o carrello per eseguire il ping. Predefinito vuoto. |
il ping | (Stringa) Elenco di URL separati dal ritorno di spazi o carrelli che sono stati sottoposti a ping. Predefinito vuoto. |
post_modified | (String) La data in cui il post è stato modificato l'ultima volta. L'impostazione predefinita è l'ora corrente. |
post_modified_gmt | (String) La data in cui il post è stato modificato l'ultima volta nel fuso orario GMT. L'impostazione predefinita è l'ora corrente. |
post_parent | (Int) Imposta questo per il post a cui appartiene, se presente. Predefinito 0. |
menu_order | (Int) L'ordine in cui dovrebbe essere visualizzato il post. Predefinito 0. |
post_mime_type | (String) Il tipo mime del post. Predefinito vuoto. |
guid | (String) ID univoco globale per referenziare il post. Predefinito vuoto. |
tax_input | (Matrice) Matrice di termini di tassonomia, in base al nome della tassonomia. Predefinito vuoto. |
meta_input | (Array) Matrice di meta-metriche dopo la loro chiave meta post. Predefinito vuoto. |
Evita i messaggi duplicati
Quando esegui questa funzione, potresti probabilmente ottenere un post duplicato, almeno quello che è successo a me. (Puoi verificarlo nella sezione Post WordPress)
Ho trovato una soluzione :
if( !get_page_by_title( $title, 'OBJECT', 'post' ) ){
$my_post = array('post_title' => $title,
'post_content' => 'Content',
'tags_input' => $tags,
'post_category' => array(2),
'post_status' => 'publish'
);
$result = wp_insert_post( $my_post );
}
Spiegazione
Prima di salvare un nuovo post, verifica se il nuovo post esiste già usando il titolo del post come parametro, se non c'è un titolo del post, puoi salvare il tuo nuovo post.
Controllare la documentazione del get_page_by_title qui .
introduzione
A volte abbiamo un altro editor da qualche altra parte invece di TinyMCE (Wordpress Default Editor). Succede quando stiamo creando il nostro tema, plugin o qualcosa di specifico; e abbiamo bisogno di scrivere e manipolare un tipo di post e salvarlo nel nostro database WP.
Quindi, se ti trovi in quella situazione, puoi usare una funzione di Wordpress chiamata:
wp_insert_post( array $args, bool $wp_error );
Crea un post di base
$basic_post_args = array(
'post_title' => 'My Basic Post',
'post_content' => 'This is a basic content',
'post_status' => 'publish',
'post_author' => 1,
'post_category' => array(8, 59)
);
wp_insert_post( $basic_post_args );
Crea una pagina di base
$basic_page_args = array(
'post_title' => 'My Basic Page',
'post_content' => 'This is a basic content',
'post_type' => 'page',
'post_status' => 'publish',
'post_author' => 1
);
wp_insert_post( $basic_page_args );