2010-11-25 20 views
1

Ich habe ein Skript geschrieben, das einen XML-Feed mit einigen Nachrichten aufnimmt und jede Nachricht als Post in WordPress mit wp_insert_post() einfügt.Wordpress - Programmatisch Beiträge mit neuen Kategorien einfügen?

Jede dieser Nachrichten hat eine Kategorie, die ich auch zu WordPress hinzufügen möchte.

Meine Frage ist, wie kann ich neue Kategorien im laufenden Betrieb erstellen und den Beitrag dieser Kategorie mit wp_insert_post() (oder einer anderen Funktion) zuweisen?

Danke!

+0

ich innerhalb von Wordpress jeder Funktion nicht wissen, das dies tut. Sie können jedoch den Kategorietitel/die Kategorie mit einem benutzerdefinierten Aufruf zur Tabelle hinzufügen. – Damien

Antwort

3

ich es am Ende sortierte nach dem folgenden Code schreiben:

//Check if category already exists 
$cat_ID = get_cat_ID($category); 

//If it doesn't exist create new category 
if($cat_ID == 0) { 
    $cat_name = array('cat_name' => $category); 
    wp_insert_category($cat_name); 
} 

//Get ID of category again incase a new one has been created 
$new_cat_ID = get_cat_ID($category); 

// Create post object 
$new_post = array(
    'post_title' => $headline, 
    'post_content' => $body, 
    'post_excerpt' => $excerpt, 
    'post_date' => $date, 
    'post_date_gmt' => $date, 
    'post_status' => 'publish', 
    'post_author' => 1, 
    'post_category' => array($new_cat_ID) 
); 

// Insert the post into the database 
wp_insert_post($new_post); 
1

Versuchen Sie folgendes:

$my_cat = array('cat_name' => 'My Category', 'category_description' => 'A Cool Category', 'category_nicename' => 'category-slug', 'category_parent' => ''); 

$my_cat_id = wp_insert_category($my_cat); 

$my_post = array(
    'post_title' => 'My post', 
    'post_content' => 'This is my post.', 
    'post_status' => 'publish', 
    'post_author' => 1, 
    'post_category' => array($my_cat_id) 
); 

wp_insert_post($my_post); 

Warnung: Ungeprüfte. Es wurde alles genommen von wp_insert_post() und wp_insert_category() Seite auf codex.

Verwandte Themen