Связывание «автора» с пользовательской таксономией

У меня есть пользовательская роль «Представитель министерства», которая может входить в систему и создавать и управлять своими «возможностями» и «Событиями», каждый из которых является настраиваемым типом сообщения.

На переднем конце сайта вы можете фильтровать возможности или события с помощью «Министерства», которая представляет собой обычную таксономию, связанную с типом пользовательских сообщений «Возможности» и «События».

На бэкэнде я создаю учетную запись для «представителя министерства» для управления тем, что появляется в их профиле, а также в отфильтрованных результатах на страницах «Возможности» и «События».

Соревнование

Когда «Представитель министерства» собирается создать новое «Событие», они вводят подробные данные, и из пользовательской таксономии им приходится выбирать:

  • Местоположение (иерархическая таможенная таксономия)
  • Ведущий (неиерархическая таможенная таксономия)
  • Министерство (неиерархическая таможенная таксономия)

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

Идеальное решение

В идеале, когда Джон Доу из «Министерства А» создает новое «Событие» или «Возможность», ассоциация создается без какого-либо ввода, требуемого на уровне интерфейса конечным пользователем.

Итак, я думаю, что я ищу, это способ связать учетную запись пользователя с определенным термином в пользовательской таксономии.

Имеет ли это смысл? Может быть, есть еще один способ взглянуть на проблему? Как я представляю, я мог видеть другие приложения, которые могли бы сделать это полезным. Создается учетная запись, и когда пользователь X вносит свой вклад в данный тип контента, предварительно выбранные термины автоматически связаны с их содержимым.

Любые мысли или идеи приветствуются. Спасибо!

Solutions Collecting From Web of "Связывание «автора» с пользовательской таксономией"

Я смог придумать работу! Во-первых, я использовал Role Scoper, чтобы ограничить учетную запись пользователя конкретным термином – в этом случае представитель министерства ограничивается именем своего министерства в таксономии «министерств». Затем я использовал класс WPAlchemy для создания пользовательского метабокса, который будет перечислять термины, и, поскольку он только вернул один (их), я бы его уже выбрал. Затем я спрятал его с помощью таблицы стилей администратора.

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

Сообщите кому-нибудь подробности о моей работе.

Я думаю, вы должны использовать usermeta для этого. Например, настройте «служение» пользователя на свой профиль (это будет просто список терминов в этой таксономии) и сохраните tax_term_id как usermeta. Кроме того, вы должны создать новый термин в таксономии Presenter, используя user_login в качестве имени термина, чтобы обеспечить один уникальный термин для одного ведущего. Однако нет необходимости сохранять этот tax_term_id в usermeta. Местоположение также может быть установлено из профиля и сохранено в usermeta, но может иметь смысл использовать только пользовательский интерфейс по умолчанию, который использует WordPress.

После того, как вы все настроите, вы захотите подключиться к 'save_post' чтобы убедиться, что все эти условия будут применены к сообщению, поскольку он сохранен и т. Д.

При этом я не понимаю, почему вам нужна таксономия, непосредственно связанная с ведущим, поскольку вы уже можете запросить автора сообщения.