Intereting Posts
Показать сообщение через шаблон Изменение «Потерянного пароля по электронной почте» на странице сброса пароля Как настроить панель категорий? специальные символы после сохранения проекта, интерпретируемого как Ошибка PHP при попытке доступа к панели управления WP-Admin WordPress зависает, когда я публикую или обновляю сообщение Редактирование существующих предварительно созданных меню в PHP Content / Excerpt length для конкретного цикла? Как показать таксономический образ вместо имени таксономии в списке Можно ли остановить активацию темы, когда какой-либо плагин не активирован Woo commerce – Непринятая ошибка: вызов функции-члена get () на null Как создать структуру моей папки тем, чтобы избежать огромного списка файлов Объединение функциональности плагина в тему Вставить phpBB в WordPress? Favicon вызывает предупреждение о смешанном содержании по SSL

Пользовательские типы сообщений для поддержки плагина Ticket?

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

Мой вопрос заключается в том, как структурировать это, не полагаясь на другие плагины для функциональности:

  • Пользователь подписывается и получает новую роль (например, «Клиент»).
  • Когда Клиент добавляет сайт, этот Сайт доступен только для Клиента, и никто другой. Я предполагаю, что сайт будет Custom Post Type.
  • Когда Клиент добавляет Билет на Сайт, это видно только Клиенту. Я полагаю, что и билеты будут CPT.

Что касается наилучшей практики, могу ли я использовать авторов и роли для видимости и CPT для сайтов и билетов?

И как мне создать отношения между сайтом и билетом? Я знаю, что есть плагин Post 2 Posts, в дополнение к другим (например, CPTR), который управляет отношениями между типами сообщений, но я бы предпочел не полагаться на других для основных функций этого плагина.

Edit: Я пытаюсь понять, может ли какая-то пользовательская таксономия сыграть роль в этой головоломке, но я не вижу, как она может вписаться. Любые предложения приветствуются.

Пользовательские типы сообщений – хорошее решение для вас, чего вы пытаетесь достичь. Фактически, почти во всех случаях, когда регулярные Page типа Page не подходят для вашего прецедента, тогда пользовательские типы сообщений будут. Их следует рассматривать скорее как пользовательские типы контента, а не выше. Это дает небольшое значение их назначению.

Вам нужен плагин Posts 2 Posts от Scribu ? Нет. Хороший плагин , на самом деле единственный, который последовательно рекомендуется связывать одну почту с другой или многими другими, однако в вашем случае вы имеете дело с клиентом (клиентом), их личными данными, которые включают «сайт», поскольку вы сказать так…

С этим можно справиться,

  • Пользовательские типы сообщений
  • Пользовательские поля (post_meta) и мета-боксы
  • Пользователи ( роли , возможности , user_meta )

Как вы создаете отношения между сайтом и билетом, зависит от того, что вы предлагаете клиенту. Это один сайт на пользователя или несколько сайтов на пользователя ?

В любом случае, я до сих пор думаю, что пользовательские сайты должны быть добавлены как метаданные пользователя, поэтому разрешите ли вы им создавать ОДИН или МНОГИЕ сайты, которые вам нужны. Когда пользователь подает билет, вы можете предложить им выпадающий список, чтобы выбрать, к какому сайту относится билет. Это выпадающее меню, например (меню выбора), вытаскивает свои данные из соответствующих полей пользователя, связанных с этим пользователем.

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

Два класса Custom Meta Box, которые я рекомендую вам изучить, помогут облегчить процесс создания мета-ящиков;

  • Ralwis Meta Box Class
  • Класс WPAlchemy Meta Box

Есть и другие, но это два, которые я использовал и все еще использую последовательно. Я более неполно отношусь к WPAlchemy, потому что это был первый класс его типа, который я начал использовать по массе, но теперь я использую как взаимозаменяемые. Некоторые аргументы были сделаны против обоих, что лучше и почему, но … Это для тех типов знатоков кода, о которых нужно беспокоиться :)

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

 - High priority - Medium priority - Low priority - Inquiry only - Bug report - Suggestion 

…без разницы.

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