Пробую разобраться с автоматизацией постинга. Установил движок, сделал файл, который добавляет пост. Все хорошо, но понадобилось сделать таксономию color. Для примера сделал вот такой код:
....
$custom_tax = array(
'color' => array(
'Red',
'Green',
'Blue'
)
);
....
$my_post = array(
'post_title' => $var_title,
'post_content' => "первая часть<!--more-->вторая",
'post_status' => 'publish',
'post_author' => 1,
'post_category' => array($key),
'tags_input' => $tags,
'tax_input' => $custom_tax //добавил
);
wp_insert_post( $my_post );
Но они не добавляются. Не могу понять. таксономии уже должны быть добавлены прямо из кода?
Переделал код.
Сделал вместо
wp_insert_post( $my_post );
вот так
$post_id = wp_insert_post($my_post);
wp_set_object_terms($post_id, 'test', 'color');
или
$post_id = wp_insert_post($my_post);
wp_set_object_terms($post_id,array('green', 'red'), 'color');
Не работает. А вот если попробовать
wp_set_object_terms($post_id, null, 'category' );
то список категорий поста обнуляется. Я ничего не понимаю уже.
При это таксономии работают и если задать их при ручном создании поста,то все ок, их видно.
Осталась последняя причина - неправильно объявил таксономию?
function add_color_taxonomies() {
register_taxonomy('platform',
array('post'),
array(
'hierarchical' => false,
'labels' => array(
'name' => 'color',
'singular_name' => 'color',
'search_items' => 'Search Color',
'popular_items' => 'Popular Colors',
'all_items' => 'All Colors',
'parent_item' => null,
'parent_item_colon' => null,
'edit_item' => 'Edit Color',
'update_item' => 'Update Color',
'add_new_item' => 'Add new Color',
'new_item_name' => 'Color',
'separate_items_with_commas' => '',
'add_or_remove_items' => 'Add or delete',
'choose_from_most_used' => 'Select',
'menu_name' => 'Color'
),
'public' => true,
'show_in_nav_menus' => true,
'show_ui' => true,
'show_tagcloud' => true,
'update_count_callback' => '_update_post_term_count',
'query_var' => true,
'rewrite' => array(
'slug' => 'color',
'hierarchical' => false
),
)
);
}
add_action( 'init', 'add_color_taxonomies', 0 );
Не судите строго, я только учусь