Wordpress - программно вставлять сообщения с новыми категориями? - PullRequest
0 голосов
/ 25 ноября 2010

Я написал скрипт, который принимает XML-ленту некоторых новостей и вставляет каждую новостную статью как пост в WordPress, используя wp_insert_post ().

У каждой из этих новостных статей есть категория, которую я также хотел бы добавить в WordPress.

У меня вопрос, как я могу создать НОВЫЕ категории на лету и присвоить сообщение этой категории, используя wp_insert_post () (или любую другую функцию)?

Спасибо!

Ответы [ 2 ]

3 голосов
/ 29 ноября 2010

В конце я отсортировал его, написав следующий код:

//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 голос
/ 26 ноября 2010

Попробуйте:

$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 );

Предупреждение: Не проверено .Все это было взято со страниц wp_insert_post () и wp_insert_category () в кодексе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...