Подтвердить что ты не робот

WordPress CPT с возможностью входа и регистрации

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

Теперь... выясняется, что нам нужно, чтобы эти заявители могли входить в систему и выполнять различные действия, такие как сохранение свойств в списке "Избранное" или редактирование собственных требований.

Если бы мы строили плагин с нуля, я бы просто сделал их как пользователей, однако это плагин, используемый сотнями людей, поэтому у нас нет такой роскоши, и мы должны держать его как CPT.

Мой вопрос: как я/должен ли я хранить его в CPT, позволяя этим людям войти и зарегистрироваться.

Мои две первые мысли:

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

или

  1. Мы создаем собственные пользовательские функции "входа" и "регистрации". Мы сохраняем адрес электронной почты и пароль в соответствии с настраиваемой почтой и используем их для их проверки. Затем также выполните собственное управление сеансом и т.д.

или

  1. Окончательный вариант заключается в том, что мы полностью уничтожаем CPT и просто используем "пользователей". Затем напишите какую-то миграцию script, чтобы переместить CPT пользователям.

Надеюсь, что это имеет смысл. Любые мысли/идеи наиболее приветствуются.

4b9b3361

Ответ 1

Я написал и управлял 2-страничными сборщиками и более дюжинами других плагинов для WooThemes Storefront, WooThemes Canvas и WooCommerce и нескольких самостоятельных плагинов из моего опыта...

Окончательный вариант - это то, что мы полностью уничтожаем CPT и просто используем "пользователей". Затем напишите какую-то миграцию script, чтобы переместить CPT пользователям.

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

Мы создаем собственные пользовательские функции "входа" и "регистрации". Мы сохраняем адрес электронной почты и пароль в соответствии с настраиваемой почтой и используем их для их проверки. Затем также выполните собственное управление сеансом и т.д.

Это слишком большая работа для чего-то, что встроено в WordPress... Вероятно, пропустите это тоже...

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

Итак, оказывается, что первый вариант кажется лучшим вариантом... Вы можете просто использовать user_register и profile_update перехватывает сообщения, синхронизированные с пользователями, и save_post hook чтобы пользователи синхронизировались с сообщениями. И плагин активации плагина, чтобы генерировать пользователей из сообщений при активации новой версии.

Надеюсь, что это поможет. 🙂

Ответ 2

Я бы предпочел использовать пользователей с ролями в wordpress.

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

Несколько ссылок на добавление роли и возможностей пользователя и user_meta.

Добавить роль

Добавить возможности

Добавить пользователя Meta

Надеюсь, это поможет вам перейти стандартным способом Wordpress CMS.