php - WordPress CPT 能够登录和注册

标签 php wordpress

我们负责一个 WordPress 插件,作为其功能的一部分,它有一个名为“申请人”的自定义帖子类型。这些是希望购买特性的申请人,因此您可以在帖子中记录他们的联系方式和搜索要求等信息。

现在...我们发现我们需要让这些申请人能够登录并执行各种操作,例如将特性保存到“收藏夹”列表,或编辑自己的要求。

如果我们从头开始构建插件,我只会以用户身份完成它们,但这是一个有数百人使用的插件,所以我们没有那么奢侈,必须将其保留为 CPT。

我的问题是...我/应该如何保留 CPT,同时允许这些人登录和注册。

我最初的两个想法是:

  1. 对于每个自定义帖子,您都有一个 WordPress 用户并保持两者同步(即,如果用户被删除,自定义帖子也会同时被删除)。这样您就可以使用 WordPress 提供的内置登录和安全功能,但您会遇到试图保持两者同步的噩梦。

  • 我们构建自己的自定义“登录”和“注册”功能。我们根据自定义帖子存储电子邮件地址和密码,并使用它来验证它们。然后还执行我们自己的 session 管理等。
  • 最后的选择是我们实际上完全废弃 CPT,只使用“用户”。然后编写某种迁移脚本以将 CPT 转移给用户。
  • 希望这是有道理的。欢迎任何想法/想法。

    最佳答案

    根据我的经验,我已经编写和管理了 2 个页面构建器以及十多个 WooThemes Storefront、WooThemes Canvas 和 WooCommerce 的其他插件以及一些独立的插件...

    The final option is we do infact scrap the CPT altogether and just use 'users'. Then write some kind of migration script to move the CPT's over to users.

    根据我的经验,迁移脚本适合小的更改,例如,也许在您的情况下为帖子类型添加新的默认元字段,但是更改对插件功能如此基本的内容不仅需要大量工作(例如查询用户而不是帖子),但也会让您的用户发疯,他们可能会使用自定义帖子循环...所以这是不推荐

    We build our own custom 'login' and 'register' functionality. We store the email address and password against the custom post and use that to validate them. Then also perform our own session management etc.

    对于 WordPress 内置的东西来说,这又是太多的工作了...也许也可以跳过这个...

    For every custom post you have a WordPress user and keep the two synced (i.e. if the user is deleted, the custom post gets deleted at the same time). That way you could use the built-in log in and security functionality provided by WordPress, but you have this nightmare of trying to keep the two in sync.

    事实证明,第一个选项似乎是最好的选择...您可以简单地使用 user_registerprofile_update保持帖子与用户同步的 Hook 和 save_post使用户与帖子保持同步的钩子(Hook)。还有一个plugin activation hook从新版本激活帖子中生成用户。

    希望有帮助。 🙂

    关于php - WordPress CPT 能够登录和注册,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38922938/

    相关文章:

    php - GoDaddy 服务器上的 Joomla "No input file specified"

    php - 如何在 php mysql 中处理动态模式和动态数据?

    php - 将站点导出到 WordPress

    php - 如何从两个或多个表中删除记录

    javascript - 隐藏包含指定字符串的表行

    php - 作为静态类属性的实例

    php - IP 验证和 URL 验证 if elseif 语句?

    php - Wpdb prepare 调用不正确

    php - 将一周添加到以 YYYYMMDD 格式存储的 SQL 值

    php - 在产品图片下方显示产品价格