从外部加载WordPress核心文件会导致其他站点使用wordpress mysql连接

I have a separate site & wordpress installed onto that, but WP only resides in the blog/ directory; they both use SEPARATE databases.

Now, I want to load the WP core files so I can load up some WP specific stuff on the homepage, so I went ahead & tried the below..

// Include wordpress core
require(WP_ROOT_PATH . 'wp-load.php');

Now I am getting database errors saying stuff like database1.table1 doesn't exist. (Note these are example names only).

This is likely because now wordpress has opened it's own database connection & now the rest of the site is now running it's queries under the new connection.

The only ways to fix this that I can think of are..

  • To add the database resource you want to use to all database calls
  • Load the WP data via an iframe so that you only need to load the WP files & hence avoid the other problems

Is there anything else I can do apart from the above!?

Try coding what you need in a separate file from the main site like so:

// Include wordpress core
require(WP_ROOT_PATH . 'wp-load.php');

//Get wp content here

// close wordpress database connection
mysql_close($wpdb->dbh);

Then include this file whenever you need the content in your main site. If include doesn't work you could use:

echo file_get_contents("filename.php")