0

I want to include more than one wp-blog-header.php like the following.

$config = array(
    array(
        "path" => "/path/to/blog/1/"
    ),
    array(
        "path" => "/path/to/blog/2/"
    )
);


foreach($config as $site){
    include($site['path']."wp-blog-header.php");
    echo get_site_url().' '.$site['path'].'<br>';
}

I get echo out the first site_url 2 times. So i believe there wordpress doesn't connect to second blog.

Is there a way to reset connection and everything which was included?

1
  • 1
    What problem are you trying to solve with this solution? This is almost certainly a dead end and a red herring Commented Jul 15, 2019 at 9:55

1 Answer 1

2

This will never work, you cannot include wp-blog-header.php multiple times from different installs.

After you include the first blog header, all of the WP functions are now present in the global namespace, all the databse details set, plugins and theme loaded, etc. In order to reset things you would need an entirely new request, defeating the point.

If your goal is to gather data from multiple instances there are better solutions:

  • A multisite installation, allowing switch_to_blog() to do this
  • Calling the REST API ( this can be done via JS or even a different program written in a different language )
  • WP CLI commands

But loading the code of multiple WP installations at the same time is not a solution, and will never work

1
  • Yes I realized that. I am using the xmlrpc api now. Thanks Commented Jul 15, 2019 at 13:23

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.