Как создать термин таксономии при создании таксономии через пользовательский плагин? - PullRequest
0 голосов
/ 05 сентября 2018

Я пытаюсь добавить термин таксономии прагматично при создании таксономии. Я попытался добавить

wp_insert_term(
    'A00',   // the term 
    'we_colors'
);

к tax_color_palletes, но это не добавляет термин A00. Я работаю над этим фрагментом; как я могу это исправить?

function tax_color_palletes() {

    $labels = array(
        'name'                       => 'Models',
        'singular_name'              => 'Model',
        'menu_name'                  => 'Models',
        'all_items'                  => 'All Models',
        'parent_item'                => 'Parent Model',
        'parent_item_colon'          => 'Parent Model',
        'new_item_name'              => 'Model Name',
        'add_new_item'               => 'Add New Model',
        'edit_item'                  => 'Edit Model',
        'update_item'                => 'Update Model Type',
        'separate_items_with_commas' => 'Separate Model with commas',
        'search_items'               => 'Search Models',
        'add_or_remove_items'        => 'Add or remove Model Type',
        'choose_from_most_used'      => 'Choose from the most used Model',
        'not_found'                  => 'Model Not Found',
    );
    $args = array(
        'labels'                     => $labels,
        'hierarchical'               => true,
        'public'                     => true,
        'show_ui'                    => true,
        'show_admin_column'          => true,
        'show_in_nav_menus'          => true,
        'show_tagcloud'              => true,
    );
    register_taxonomy( 'women_models', array( 'we_colors' ), $args );
    wp_insert_term(
        'A00',   // the term 
        'we_colors'
    );
}
add_action( 'init', 'tax_color_palletes', 0 );

1 Ответ

0 голосов
/ 05 сентября 2018

Вы пытаетесь добавить term к вашему taxonomy или post_type?

В вашем примере вы регистрируете taxonomy women_models на post_type we_colors. Но затем вы звоните wp_insert_term (что требует taxonomy) и передаете его post_type. Что должно дать вам ошибку.

Если вы хотите просто добавить term к taxonomy, вам нужно передать taxonomy на wp_insert_term.

wp_insert_term('A00', 'women_models');

Если вместо этого вы на самом деле пытаетесь добавить термин в post_type, вы должны использовать wp_set_object_terms, который, в свою очередь, может сам вызывать wp_insert_term для создания новых терминов. Однако сначала вам нужно будет получить $object_id.

wp_set_object_terms( $object_id, ['term_1', 'term_2'], 'taxonomy_name');

https://developer.wordpress.org/reference/functions/register_taxonomy/ https://developer.wordpress.org/reference/functions/wp_insert_term/ https://developer.wordpress.org/reference/functions/wp_set_object_terms/

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