I’m using Blog Copier to copy a template blog for new users to my system. I’m also using the More Privacy Options plugin to make the template “visible only to registered users I add to the blog” (i.e. blog_public = -1 in the wp_N_options table, where N is the blog ID).
For some reason, the blog_public value in all my newly copied blogs is set to 1 (“Allow search engines to index this site.”). The value is not being copied correctly.
I’m not sure if there are other settings / options that are not copied correctly, but this is the only one I’ve noticed so far that is of critical importance to me.
Here are the MySQL general access log entries relating to a recent blog copy copy:
89 Query INSERT INTO wp_75_options (option_name, option_value, autoload) VALUES …, (‘blog_public’, ‘1’, ‘yes’), …
89 Query SELECT option_value FROM wp_75_options WHERE option_name = ‘blog_public’ LIMIT 1
89 Query UPDATE
option_value= ‘1’ WHERE
Any ideas how I can fix this? It used to work fine with the old wpreplicator, although that had some issues of it’s own.
I see in the plugin that we have this:
$to_blog_id = wpmu_create_blog( $newdomain, $path, $title, $user_id , array( "public" => 1 ), $current_site->id );
This is setting the blog to public no matter what.
it sounds like we need to preserve the blog public option and then restore it. I’m not sure why it’s not happening but what you could do is after copying the blog, you can run the following:
$previous_public_status = 1 or 0 depending on what the origin blog has in the ‘blog_public’ option.
update_option( 'blog_public', $previous_public_status );
Thanks for the reply. I didn’t notice that line of code before.
I’ve just patched the code to be:
$to_blog_id = wpmu_create_blog( $newdomain, $path, $title, $user_id , array( "public" => 0 ), $current_site->id );
Besides needing to re-patch when updating the plugin, is there any reason not to do this?
- The topic ‘[Plugin: Blog Copier] Privacy settings not copied correctly’ is closed to new replies.