【问题标题】:Custom columns in Wordpress database [closed]Wordpress 数据库中的自定义列
【发布时间】:2021-02-15 14:29:38
【问题描述】:

我有两个带有两个独立数据库的网站(一个 Wordpress 和一个 PHP)。我想在 Wordpress 用户表中创建一个自定义列,并使用 PHP 数据库表中的标识符。这样我就有了两个数据库之间的链接。

是否可以在不破坏网站的情况下在 Wordpress 数据库中创建自定义列?如果可以,您是如何做到的?你可以直接在phpmyadmin中创建一个新列而没有问题或者可能是一个插件吗?

【问题讨论】:

    标签: php sql database wordpress


    【解决方案1】:

    您当然可以使用 PHPMyAdmin 向 wp_users 添加新列 - 或从 PHP 编写脚本。可能有一个插件也可以让您更改列,但我从来没有认为 PHPMyAdmin 或类似的直接访问是更好的选择。

    但是,我认为你不应该这样做。

    关于 WordPress 的重点是它的一致性。更改列结构现在对核心代码没有影响,但您永远不知道该表何时会在核心中更新。

    另一种方法是在 wp_usermeta 中添加元键。如果你真的想要一个表,那么最安全的选择是创建一个自定义表(例如 wp_user_connections),然后把你的链接放在那里。使用任何一种方法,您都可以加入任何您想要的数据。

    【讨论】:

    • 这个想法是,当我在我的 PHP 站点上更新用户时,我希望能够在 wordpress 用户数据库中更新“user_login”和“user_pass”(这个站点是一个包含信息的管理站点关于用户)。我需要一个在两个数据库之间匹配的 ID,以便在我的管理站点上插入、更新或删除 Wordpress 数据库中的用户。我不知道如何通过另一个表或 wp_usermeta 来做到这一点。你能详细说明一下吗?
    • 您将使用外部 ID 向 wp_usermeta 添加一行。在 PHP 中是这样的:update_usermeta( $user_id, '_external_id', $user_external_id ); 然后,你的更新 SQL 会是这样的:UPDATE wp_users u INNER JOIN wp_usermeta um ON um.user_id = u. ID AND um.meta_key = '_external_id' SET u.user_login = [YOUR_EXTERNAL_LOGIN] WHERE um.meta_value = [YOUR EXTERNAL_ID] 话虽如此,如果你想基于外部系统登录用户到 WordPress,有比同步两组更简单的方法数据库。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-03
    • 2015-05-01
    • 2014-09-20
    • 1970-01-01
    • 2015-09-10
    • 1970-01-01
    相关资源
    最近更新 更多