Согласование только для чтения (пользователь может назначать термин, но не может создавать или редактировать существующие термины)

Я создаю пользовательскую таксономию, условия которой должны оставаться фиксированными всеми пользователями. Как только я установил исходный набор терминов, я хочу, чтобы они были неизменными. Я также не хочу загромождать интерфейс администратора с дополнительными ссылками и обменами, где они не нужны.

Однако установка public => 'false' или show_ui => 'false' не только скрывает ссылку на управление, но также запрещает пользователю назначать этот термин для нового сообщения.

Мне нужен способ скрыть ссылку «управлять» в раскрывающемся списке типа post, показать термин «селектор» на странице сообщений, но (надеюсь) отключить опцию «Добавить срок» внизу этого обменника.

Существует ли такая особенность? Или таксономии всегда должны быть доступны для редактирования?

Возможности пользовательской таксономии дают мне большую часть пути, поскольку вы можете самостоятельно устанавливать права CRUD на основе возможностей. Но как отключить даже админов от модификации? (Я знаю, это звучит неплохо, но это жизнеспособно.)

Solutions Collecting From Web of "Согласование только для чтения (пользователь может назначать термин, но не может создавать или редактировать существующие термины)"

Вы говорите категории (иерархические) или теги? Вам просто нужен скрытый таксономия + пользовательский виджет. Если это категории, это проще сделать, если теги … зависят, если количество элементов является достойным. И вы можете скрыть их из общедоступного представления только для не-Администраторов. Таким образом, вы можете легко управлять ими, а другие не могут их трогать.

Благодарю.

Немного поздно, но подумал, что это может использовать обновление.

Создайте свою пользовательскую таксономию и добавьте нужные вам термины, затем вернитесь к своей функции register_taxonomy() и установите аргумент capabilities (который сам принимает множество возможностей). Вы можете видеть, как я настраиваю секс для собак, у которых могут быть только два значения – «Муж» или «Женщина», которые я вводил. Теперь админы могут назначать собаку только для секса, но не могут добавлять, удалять или редактировать полов.

 register_taxonomy('sex', 'dog', array( 'capabilities' => array( 'manage_terms' => '', 'edit_terms' => '', 'delete_terms' => '', 'assign_terms' => 'edit_posts' ), 'label' => 'Sex', 'labels' => array( 'name' => 'Sex', 'add_new_item' => 'Add New Sex', 'new_item_name' => "Add New Sex" ), 'public' => true, 'show_admin_column' => true, 'show_in_nav_menus' => false, 'show_tagcloud' => false, 'show_ui' => true, 'hierarchical' => true )); 

Работает по иерархическим таксономии; Я не пытался неиерархически, но он тоже должен работать.