WordPress
Maak een bericht programmatisch
Zoeken…
Syntaxis
- wp_insert_post (array $ args, bool $ wp_error);
parameters
Parameter | Beschrijving |
---|---|
$ args (array vereist) | A Key Value Array van de onderstaande elementen. |
$ wp_error (Boolean Optioneel) | Retourneer een WP_Error in geval van storing. |
Opmerkingen
argumenten
De volgende tabel toont u een lijst met elementen die u kunt gebruiken binnen de eerste parameter (Array).
Parameter | Beschrijving |
---|---|
ID kaart | (Int) De post-ID. Als dit gelijk is aan iets anders dan 0, wordt het bericht met die ID bijgewerkt. Standaard 0. |
post_author | (Int) De ID van de gebruiker die het bericht heeft toegevoegd. Standaard is het huidige gebruikers-ID. |
post-datum | (String) De datum van het bericht. Standaard is de huidige tijd. |
post_date_gmt | (String) De datum van het bericht in de GMT-tijdzone. Standaard is de waarde van $ post_date. |
POST_CONTENT | (Gemengd) De inhoud van het bericht. Standaard leeg. |
post_content_filtered | (String) De gefilterde berichtinhoud. Standaard leeg. |
POST_TITLE | (String) De titel van het bericht. Standaard leeg. |
post_category | (Array) Array van postcategorie-waarden. |
post_excerpt (String) Het uittreksel van het bericht. Standaard leeg. | |
post_status | (String) De berichtstatus. Standaard concept. |
post_type | (String) Het berichttype. Standaard bericht. |
comment_status | (String) Of het bericht reacties kan accepteren. Accepteert open of gesloten. Standaard is de waarde van de optie default_comment_status. |
ping_status | (String) Of het bericht pings kan accepteren. Accepteert open of gesloten. Standaard is de waarde van de optie default_ping_status. |
post_password | (String) Het wachtwoord voor toegang tot het bericht. Standaard leeg. |
POST_NAME | (String) De postnaam of naaktslak. Standaard is de titel van het opgeruimde bericht bij het maken van een nieuw bericht. |
to_ping | (String) Spatie-gescheiden lijst van URL's om te pingen. Standaard leeg. |
gepingd | (String) Spatie- of door rijtjes gescheiden lijst van URL's die zijn gepingd. Standaard leeg. |
post_modified | (String) De datum waarop het bericht voor het laatst is gewijzigd. Standaard is de huidige tijd. |
post_modified_gmt | (String) De datum waarop het bericht voor het laatst is gewijzigd in de GMT-tijdzone. Standaard is de huidige tijd. |
post_parent | (Int) Stel dit in voor de post waartoe het behoort, indien van toepassing. Standaard 0. |
menu_order | (Int) De volgorde waarin het bericht moet worden weergegeven. Standaard 0. |
post_mime_type | (String) Het mime-type van het bericht. Standaard leeg. |
GUID | (String) Wereldwijde unieke ID voor het verwijzen naar de post. Standaard leeg. |
tax_input | (Array) Matrix van taxonomietermen ingetoetst door hun taxonomienaam. Standaard leeg. |
meta_input | (Array) Array van post-meta-waarden die zijn bepaald door hun post-meta-sleutel. Standaard leeg. |
Vermijd dubbele berichten
Wanneer je deze functie uitvoert, kun je waarschijnlijk een dubbele post krijgen, tenminste dat is mij overkomen. (Je kunt het in de Post WordPress-sectie bekijken)
Ik heb een oplossing gevonden:
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 );
}
Uitleg
Voordat je een nieuw bericht opslaat, valideer of het nieuwe bericht al bestaat met de berichttitel als parameter. Als er geen berichttitel is, kun je je nieuwe bericht opslaan.
Bekijk de documentatie van get_page_by_title hier .
Invoering
Soms hebben we ergens anders een andere editor in plaats van TinyMCE (Wordpress Default Editor). Dat gebeurt wanneer we ons eigen thema, plug-in of iets specifieks maken; en we moeten een type bericht schrijven en manipuleren en opslaan in onze WP-database.
Dus als u zich in die situatie bevindt, kunt u een Wordpress-functie gebruiken met de naam:
wp_insert_post( array $args, bool $wp_error );
Maak een basisbericht
$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 );
Maak een basispagina
$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 );