单个页面上不同插件中的外部wpdb连接

时间:2017-10-23 作者:Mark

我正在编写连接到外部数据库的插件,使用wpdb类连接到外部数据库:

$mydb = new wpdb(\'username\',\'password\',\'database\',\'localhost\');
$rows = $mydb->get_results("select Name from my_table");
我希望在一个页面上有多个插件,所有插件都连接到相同的外部数据库,但不同的表。

如果我尝试在一个页面上有多个插件,第一个可以工作,但下面的插件会导致错误:

fatal error call to a member function get_results() on null
我试图刷新连接,但没有成功。除了创建新的$mydb 对于每个插件,有没有一种方法可以跨不同的插件使用同一个类?我也试过了global $mydb 在第一个插件下面的插件中,但不起作用。

谢谢

1 个回复
SO网友:janh

定义变量时,必须将其设置为全局变量,例如。

global $mydb;
$mydb = new wpdb(\'username\',\'password\',\'database\',\'localhost\');
然后使用global $mydb; 在其他插件中。除了主题文件,还有函数。加载php和插件时,WP中几乎没有任何东西在全局上下文中运行,因此如果需要访问全局变量,则必须使用global.

结束

相关推荐

无法使用deactive_plugins()自停用插件

我有这些插件文件:我的插件/我的插件。php我的插件/我的插件类。php中my-plugin.php 我有以下几行:register_activation_hook( __FILE__, array( $my_plugin_object, \'on_activate_my_plugin\' ) ); 在中my-plugin-class.php 我有以下方法:public function on_activate_my_plugin() { if ( // Some validat