首页 > 解决方案 > 有什么方法可以在核心 php 代码中访问 WordPress 数据库

问题描述

我想要实现的目标:将数据存储到 PHP 数据库和 WordPress 数据库中

例如,有两个数据库,A 用于 corephp 站点,B 用于 wp 站点。现在,当用户通过 corephp 站点注册时,该条目是在数据库 A 中进行的,以及我应该如何在数据库 B 中进行相同的用户条目,这也是用于 WP 的,并且现在无论如何都没有连接到 corephp 站点。

连接这两个站点的原因是,我的 WP 站点显示了 woocommerce 订阅购买,我需要在 WP 数据库中拥有该用户数据,以查看哪个用户注册了哪个会员订阅。

更新代码:

$dir = getcwd().'/explore';
include $dir.'/wp-config.php';
include $dir.'/wp-load.php';
if ($f == 'register') {
    $register = Wo_RegisterUser($re_data, $in_code);
    if ($register === true) {
        wp_create_user($_POST['username'], $_POST['password'], $_POST['email']);
    }
}

标签: phpmysqlwordpressmariadb

解决方案


是的,你可以实现。您需要在核心 php 项目中包含“wp-config.php”和“wp-load.php”。之后,您需要调用 WordPress 函数“wp_create_user”在 WordPress 数据库中插入新的用户数据。

更多细节。 https://developer.wordpress.org/reference/functions/wp_create_user/

//include 'wp-config.php' and 'wp-load.php' in your core php project. Make sure you are passing the correct url of these two files.
include '/wp-config.php';
include '/wp-load.php';

$user_id = username_exists( $user_name );

if ( ! $user_id && false == email_exists( $user_email ) ) {
    $random_password = wp_generate_password( $length = 12, $include_standard_special_chars = false );
    $user_id = wp_create_user( $user_name, $random_password, $user_email );
} else {
    $random_password = __( 'User already exists.  Password inherited.', 'textdomain' );
}

推荐阅读