Вывод произвольной таксономии в виде чекбоксов или выпадающего списка
Я зарегистрировал произвольную таксономию для своего произвольного типа записи. На экране редактирования метабокс таксономии отображается с полем автозаполнения.
Возможно ли отобразить её в виде чекбоксов или выпадающего списка?

Начиная с WordPress 3.7 (https://core.trac.wordpress.org/ticket/14206) вы можете добавить этот аргумент в register_taxonomy:
'meta_box_cb' => 'post_categories_meta_box'
чтобы получить встроенный метабокс с чекбоксами в стиле категорий, без необходимости делать вашу таксономию иерархической.
Также вы можете вместо этого указать свою callback-функцию для создания собственного метабокса (например, с выпадающим списком).

Отлично, именно это мне и нужно было, без необходимости делать таксономию иерархической. Спасибо

Проблема в том, что неиерархические и иерархические таксономии имеют разную структуру данных, которую нужно сохранять. Как исправить эту проблему, смотрите здесь https://gist.github.com/gschoppe/29ba81a1f676d7802cb8#file-cat-like-custom-taxonomy-php

Это потрясающе! Спасибо... Я даже не знал, что такое существует

Где я могу изменить информацию, как предложил Джастин Фауэлл? Извините, если это очевидно для всех, я только учусь. Эмили

В вызове register_taxonomy() для вашей пользовательской таксономии. Как вы настраиваете таксономию?

Возможно, вы не установили аргумент 'hierarchical' в значение true при регистрации таксономии с помощью register_taxonomy. Это означает, что по умолчанию используется false, что дает интерфейс, похожий на теги.
Добавьте 'hierarchical' => true
в вашу функцию register_taxonomy.

О да... Спасибо! НО Можно ли теперь изменить это на чекбоксы или даже выпадающий список? Я хочу иметь возможность добавить это как настройку в параметры моего плагина.

Изменение hierarchical на true должно изменить интерфейс на чекбоксы на экране редактирования вашего CPT.

Да, это так — но я хочу иметь возможность переключаться между этими вариантами. Я не думаю, что хорошей практикой будет переключать hierarchical. Это ведь изменяет не только интерфейс, верно?

Ну, иерархическая делает её... иерархической :) Насколько мне известно, переключение между двумя интерфейсами невозможно.

Если вы хотите изменить тип выбора существующей таксономии плагина на чекбоксы, вам нужно отредактировать существующий register_taxonomy().
add_action( 'init', 'change_room_term_to_checkbox', 999);
function change_room_term_to_checkbox()
{
$tax = get_taxonomy('roomtype');
$tax->meta_box_cb = 'post_categories_meta_box';
$tax->hierarchical = true;
}
'roomtype' - это название таксономии, используемое в register_taxonomy('roomtype', array(.....
