Пользовательский тип сообщения или пользовательские таблицы

Я в процессе написания плагина, который позволяет конечным пользователям отправлять форму, которая включает информацию о клиенте. По получении я получил уведомление о том, что новый клиент подал заявку. Если я одобрю учетную запись, я собираюсь создать учетную запись пользователя WordPress.

Я нахожусь на начальных этапах этого плагина и хочу знать, следует ли мне использовать пользовательские таблицы базы данных для хранения моей пользовательской информации или если я должен идти по маршруту просто с использованием настраиваемого типа сообщений и добавления метаданных в тип сообщения ?

ОБНОВИТЬ:

Ничего себе, проголосовать уже! Во всяком случае, обновление моего вопроса, позвольте мне сказать это так … Теперь я попытался создать персонализированный тип клиента и для клиента , я хотел иметь только мета-поле, содержащее имя и фамилию , Когда я это сделал и отключил все опции поддержки для настраиваемого типа сообщений, это был кошмар, в котором перечислены сообщения из-за отсутствующего значения Title . Он всегда задавал бы Title «Auto-Generated», и это не работает для меня. Я столкнулся с этим GREAT Plugin (super-cpt), который делает создание настраиваемых типов сообщений и мета-боксов ветерок.

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

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

Вы должны скептически относиться ко всем, кто говорит, что существует один «правильный» способ. Правильный путь зависит от ситуации. Использование инфраструктуры CPT имеет ряд заметных преимуществ:

  • Вы получаете пользовательский интерфейс Dashboard бесплатно
  • Вы автоматически используете кэширование WP, включая любые постоянные плагины кешей, которые могут использоваться установкой
  • Вы автоматически получаете положительные результаты, например,
  • Вы получаете доступ к классу WP_Query, а это значит, что теоретически вам не нужно писать какой-либо (или, по крайней мере, не очень), вероятный-быть-багги-и-уязвимый и неэффективный SQL

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

источник: здесь

Если в вашем настраиваемом типе сообщений содержится более 1-2 мета, возможность (или необходимость) сложных пользовательских запросов на основе этих пользовательских данных, а затем пользовательская таблица. В противном случае сложные JOIN-файлы, сделанные на мета-таблицах, чтобы вытащить сообщения путем запроса критерия 2-3 в то же время на мета-таблице, замедляют работу сайта. Значительно, на основе одновременных пользователей. Если у вас есть ~ 5000-10 000 таких записей данных, вы войдете в ад ад.

Если около 1-2 meta, OR, не будет сложного поиска пользователями ваших метаданных, и данные не должны отображаться динамически (можно кэшировать без потери пользовательского опыта), затем перейдите к сообщению WP и postmeta.

Кстати, вы также можете сделать что-то совсем не так, вы можете создать пользовательскую таблицу, чтобы отразить все ваши записи с помощью своих сложных метаданных в плоской реляционной таблице и перехватить функцию поиска (или другие необходимые функции) для поиска из этой пользовательской «таблицы кэша поиска», а затем перейдите к просмотру набора результатов из wp_posts и wp_postmeta, вы также можете использовать таблицы wp для массивных наборов данных. Но тогда вам нужно будет перенаправить любую проблемную операцию запроса в эту таблицу кеша.

Я считаю, что популярный поисковый плагин Relevanssi делает что-то вроде этого – кеш-комплексный пост и postmetas в плоской, реляционной таблице и выводит результаты поиска оттуда.

* Коррекция – неверна: релевантность не создает хранилище данных для более быстрого поиска. Это просто улучшает качество поиска.

Но на самом деле, по моему мнению, это слишком сложно. Просто используйте отдельные таблицы, если ваши данные большие и сложные.