我正在为WordPress创建一个插件,部分插件要求我连接到外部WordPress网站并使用该网站的外部数据库来获取一些信息。我已经建立了连接,并且使用以下代码访问了外部数据库$wpdb
:
global $new_wpdb;
define( 'BLOCK_LOAD', true );
require_once( $_SERVER['DOCUMENT_ROOT'] . '/wp-config.php' );
require_once( $_SERVER['DOCUMENT_ROOT'] . '/wp-includes/wp-db.php' );
$new_wpdb = new wpdb( $username, $password, $dbname, $servername);
$new_wpdb->show_errors();
当我使用print_r($new_wpdb);
时,我得到了数组,我可以看到外部数据库的用户名,密码等的值。但是,prefix
或base_prefix
没有价值。它只显示以下前缀:
[prefix] => [base_prefix] =>
如何获取外部数据库使用的前缀?
答案 0 :(得分:1)
你究竟是如何连接到外部网站的WordPress的?
如果您的代码能够在远程站点上require_once wp-config.php
,则应在$table_prefix
变量中定义前缀。
或者,如果您可以对WordPress数据库运行数据库查询(需要知道数据库名称或有连接),您可以运行SHOW TABLES LIKE '%wp_users'
之类的查询,然后$table_prefix = str_replace('wp_users', '', $result);