2015-10-05 2 views
1

Я пытаюсь добавить сообщение в категорию под таксономией. Код я использую:Wordpress, добавьте сообщение в категорию пользовательской таксономии

$user = get_user_by('email', $_POST['user']); 
$id = array(
    'post_title' => $_POST['title'], 
    'post_content' => $_POST['content'], 
    'post_date'  => date('Y-m-d H:i:s'), 
    'post_author' => $user->ID, 
    'taxonomy' => ('cate'), 
    'post_type'  => 'ad', 
    'post_category' => array(425), 
    'post_status' => 'publish', 
); 
$user_id = wp_insert_post($id); 
if (! is_wp_error($user_id)) { 
    $odgovor["success"] = 1; 

} 

сообщения добавляется, но он добавляется по категории «некатегоризированный», а не под нужными категориями ID Этой система работает должным образом, когда таможенный пост типа не используется (в этом случае систематике.. 'Cate')

Любые идеи

+0

Вы должны задать этот вопрос на http://wordpress.stackexchange.com/ – bernie

ответ

0

Я решил так:

$id = array(
     'post_title' => $_POST['title'], 
     'post_content' => $_POST['content'], 
     'post_date'  => date('Y-m-d H:i:s'), 
     'post_author' => $user->ID, 
     'post_type'  => 'ad', 
     'post_status' => 'publish', 
    ); 
    $user_id = wp_insert_post($id); 
    wp_set_object_terms($user_id, 416, 'cate', true); 
    if (! is_wp_error($user_id)) { 
     $odgovor["success"] = 1; 

    } 

Джош показал мне путь, но его синтаксис не был прав. Сначала это категория, вторая таксономия, и некоторые вещи нужно было удалить.

0

Вам нужно wp_set_object_terms, который занимает пост ID, термины, систематики, и добавить в качестве параметров, например:.

$user_id = wp_insert_post($id); 

wp_set_object_terms($user_id, 'cate', 'category', true); 
+0

Можно ли это сделать непосредственно на wp_insert_post без вызова второй функции? –

+0

Нет, к сожалению, нет. –

+0

Является ли категория термином или введите идентификатор категории вместо категории? Вы можете изменить мой код выше? Я добавил «wp_set_object_terms ($ user_id,« cate »,« category », true); и это снова не классифицировано ... –