Я создал пользовательский тип сообщения и добавил различные мета-поля/поля в этот настраиваемый тип сообщения. Все работает отлично, кроме одного элемента…
Вместо того, чтобы использовать интерфейс по умолчанию для выбора таксономии, я хотел бы просто иметь раскрывающееся меню, из которого пользователь может выбирать.
Идея здесь состоит в том, чтобы позволить администраторам добавлять элементы таксономии, которыми можно управлять централизованно, но при этом конкретная запись должна быть связана только с одной таксономией.
Кроме того, я бы предпочел просто добавить этот раскрывающийся список в один из моих существующих мета-полей.
У кого-нибудь есть пример кода, который позволил бы мне выполнить эту задачу?
Существующий метаблок, который вы хотите изменить, один из ваших собственных или один из основных блоков?
один из моих собственных… Я использовал код метабокса WPAlchemy для их создания, но я думаю, что это не имеет значения.
ни у кого нет ответа на это случайно? удар?
Я был бы очень признателен, если бы кто-то мог помочь мне немного больше здесь, поскольку я не знаю, как я должен сохранить новый термин таксономии, когда прошлое сохранено, и как показать текущий назначенный термин таксономии, когда сообщение страница редактирования загружена.
У кого есть решение этого вопроса. Насколько я могу судить, предложенный выше код не работает. По сути, я запутался в том, как можно создать новый раскрывающийся список существующих терминов для определенной таксономии и добавить этот раскрывающийся список к пользовательскому типу записи. Что еще более важно, как данные сохраняются при обновлении сообщения и как данные обновляются без добавления дополнительного термина в таксономию.
Код, который я разместил выше, отлично работал у меня как с иерархическими, так и с неиерархическими таксономиями. Я использую его на New2WP с моей таксономией «синтаксис», используемой в типе постов фрагментов, которые я сделал. И я использую его для внешних форм сообщений, которые используются на WPHonors.
Вот как я это сделал.
У меня нет кода для этого, но это должно быть просто: создайте раскрывающийся список с именем
tax_input[your_taxonomy_name]
, где значения — это идентификаторы, если ваша таксономия иерархическая (например, категории), значения, если нет (например, теги). Если вы используете это имя, я думаю, оно сохраняется автоматически, без дополнительного кода с вашей стороны. Вы можете создать раскрывающийся список с помощьюwp_dropdown_categories
функции, передатьselected
параметр с термином таксономии, который следует выбрать. Функция обратного вызова, которая создает мета-поле, получает$post
параметр, поэтому вы можете получить оттуда текущий термин таксономии.Чтобы отключить мета-поле, которое обычно добавляется, вы можете установить
show_ui
значение false при создании таксономии или удалить мета-поле до того, как оно будет нарисовано (я думаю, чтоadd_meta_boxes
хук — хорошее место). У него будет идентификаторtagsdiv-your_taxonomy_name
, если он не иерархический илиyour_taxonomy_namediv
если он есть.Я ответил на этот вопрос в другом посте: Сохранение терминов таксономии