Поиск и отображение пользовательских объектов

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

Я хотел бы выполнять пользовательские запросы по этим продуктам через пользовательскую форму поиска – классический поиск с опциями «расширенного поиска».

Результаты должны отображаться в списке со ссылками на отдельные элементы.

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

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

  • Плагин добавит бэкэнд-формы, чтобы администратор выполнил основные операции над продуктами.

  • Тема будет включать myproduct-results.php и myproduct.php для отображения результатов поиска и отдельных продуктов.

  • Поле поиска и расширенные параметры поиска будут отображаться в виде коротких кодов, написанных в funcions.php внутри темы.

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

Существуют ли какие-либо шаблоны проектирования, которые дают общее руководство по разделению проблем относительно плагинов WordPress и разработки тем?

Solutions Collecting From Web of "Поиск и отображение пользовательских объектов"

Я думаю, ты передумал. Я просто создаю новую настраиваемую запись в плагине. Это автоматически придет с собственным бэкэндом.

Затем вы можете создать отдельные страницы на основе иерархии шаблонов для списков и отдельных страниц.

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

Измените wp-запрос при поиске запросов в ваших метаданных.

Этого должно быть достаточно, чтобы заставить вас идти.

Мне лично не нравится, как WordPress делает что-то, поэтому я не уверен точно, сколько разделить вы сможете достичь. Но хорошее эмпирическое правило, которое я нахожу, состоит в том, чтобы попытаться использовать встроенные функции как можно больше, а не создавать собственное решение.