• Добавлена кастомная таксономия типа меток

    $args = array(
            'hierarchical'               => false,
            'public'                     => true,
            'show_ui'                    => true,
            'show_admin_column'          => true
        );
     register_taxonomy( 'new_tax', array( 'post' ), $args );

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

    $post = array(
        //не относящиеся к вопросу параметры
        'tax_input' => array('new_tax' => array( $val ))//добавение термина
    );
    
    $post_id = wp_insert_post( $post );

    $val — имеет значение

    Вопрос: По какой причине из под Админских аккаунтов термин присваивается записи, из под простых юзерей нет. Те термины которые встроены в WP, добавляются без проблем из под любого аккаунта с любыми правами

Просмотр 4 ответов — с 1 по 4 (всего 4)
  • Возможно, стоит явно указать capabilities в аргументах регистрации таксономии.

    Добавлял
    'capabilities' => array('read')
    не помогает

    Модератор Sergey Biryukov

    (@sergeybiryukov)

    Live and Learn

    Вопрос: По какой причине из под Админских аккаунтов термин присваивается записи, из под простых юзерей нет.

    Из-за проверки current_user_can() в строке 3428.

    'capabilities' => array('read') не помогает

    Попробуйте так:

    'capabilities' => array( 'assign_terms' => 'read' )

    Или присваивать элементы не через tax_input, а уже после создания записи, вызывая wp_set_post_terms() самостоятельно.

    Сергей, Спасибо.

Просмотр 4 ответов — с 1 по 4 (всего 4)

Тема «Добавление кастомных терминов к записи» закрыта для новых ответов.