我读过关于覆盖全局变量的内容$wpdb
并通过这种方式连接到第二个数据库(Search another database with wp_query using new wpdb ) 例如,可以在第二个DB上使用WP\\U查询。之后,将使用$wpdb\\u backup“还原”$wpdb。
参见以下代码@Tom J Nowell
global $wpdb;
// backup wpdb
$wpdb_backup = $wpdb;
// new db
$newdb = new wpdb($user, $password, $db, $host);
// pretend newdb is actually wpdb
$wpdb = $newdb;
// do stuff
// reset wpdb back
$wpdb = $wpdb_backup;
这是一个理论问题,可能与挂钩无关,只关注执行流。PHP(或通常的WP引擎)是否将主要执行并完成此脚本部分,其中
$wpdb
\'参数设置为第二个数据库的连接详细信息,在第二个数据库上执行操作后,它是否会在第二个网站访问者在$wpdb更改(或任何其他可能的操作处理DB1)之前单击帖子链接之前切换回旧的$wpdb($wpdb\\u备份),并且PHP会在$wpdb更改为$newdb后做出反应?
如果是这样的话,在这个场景中,WP显示一篇来自DB2的文章,尽管访问者希望(可能不是他,而是WP)来自DB1的某篇文章。如果DB2中不存在这样的post,则WP会抛出一个错误。
我错了吗?谢谢你的解释。
edit 是关于挂钩的优先权吗?
我知道有add_action ( \'hook_name\', \'your_function_name\', [priority], [accepted_args] );
用于挂钩优先级。
<小时>edit2 简短的问题:WP是一个接一个地执行一个操作,还是同时处理它们(这样在操纵$wpdb时可能会发生冲突,并且在做了一些事情后将其更改回来)?