本文整理汇总了PHP中wpmu_current_site函数的典型用法代码示例。如果您正苦于以下问题:PHP wpmu_current_site函数的具体用法?PHP wpmu_current_site怎么用?PHP wpmu_current_site使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了wpmu_current_site函数的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: go_to
//.........这里部分代码省略.........
// Search the network path + one more path segment (on top of the network path).
$current_blog = get_site_by_path($domain, $path, substr_count($current_site->path, '/'));
}
// The network declared by the site trumps any constants.
if ($current_blog && $current_blog->site_id != $current_site->id) {
$current_site = wp_get_network($current_blog->site_id);
}
// If we don't have a network by now, we have a problem.
if (empty($current_site)) {
ms_not_installed();
}
// @todo What if the domain of the network doesn't match the current site?
$current_site->cookie_domain = $current_site->domain;
if ('www.' === substr($current_site->cookie_domain, 0, 4)) {
$current_site->cookie_domain = substr($current_site->cookie_domain, 4);
}
// Figure out the current network's main site.
if (!isset($current_site->blog_id)) {
if ($current_blog && $current_blog->domain === $current_site->domain && $current_blog->path === $current_site->path) {
$current_site->blog_id = $current_blog->blog_id;
} else {
// @todo we should be able to cache the blog ID of a network's main site easily.
$current_site->blog_id = $wpdb->get_var($wpdb->prepare("SELECT blog_id FROM {$wpdb->blogs} WHERE domain = %s AND path = %s", $current_site->domain, $current_site->path));
}
}
$blog_id = $current_blog->blog_id;
$public = $current_blog->public;
if (empty($current_blog->site_id)) {
// This dates to [MU134] and shouldn't be relevant anymore,
// but it could be possible for arguments passed to insert_blog() etc.
$current_blog->site_id = 1;
}
$site_id = $current_blog->site_id;
wp_load_core_site_options($site_id);
// Pre WP 3.9
} else {
$domain = rtrim($domain, '.');
$cookie_domain = $domain;
if (substr($cookie_domain, 0, 4) == 'www.') {
$cookie_domain = substr($cookie_domain, 4);
}
$path = preg_replace('|([a-z0-9-]+.php.*)|', '', $GLOBALS['_SERVER']['REQUEST_URI']);
$path = str_replace('/wp-admin/', '/', $path);
$path = preg_replace('|(/[a-z0-9-]+?/).*|', '$1', $path);
$GLOBALS['current_site'] = wpmu_current_site();
if (!isset($GLOBALS['current_site']->blog_id) && !empty($GLOBALS['current_site'])) {
$GLOBALS['current_site']->blog_id = $wpdb->get_var($wpdb->prepare("SELECT blog_id FROM {$wpdb->blogs} WHERE domain = %s AND path = %s", $GLOBALS['current_site']->domain, $GLOBALS['current_site']->path));
}
$blogname = htmlspecialchars(substr($GLOBALS['_SERVER']['REQUEST_URI'], strlen($path)));
if (false !== strpos($blogname, '/')) {
$blogname = substr($blogname, 0, strpos($blogname, '/'));
}
if (false !== strpos($blogname, '?')) {
$blogname = substr($blogname, 0, strpos($blogname, '?'));
}
$reserved_blognames = array('page', 'comments', 'blog', 'wp-admin', 'wp-includes', 'wp-content', 'files', 'feed');
if ($blogname != '' && !in_array($blogname, $reserved_blognames) && !is_file($blogname)) {
$path .= $blogname . '/';
}
$GLOBALS['current_blog'] = get_blog_details(array('domain' => $domain, 'path' => $path), false);
unset($reserved_blognames);
if ($GLOBALS['current_site'] && !$GLOBALS['current_blog']) {
$GLOBALS['current_blog'] = get_blog_details(array('domain' => $GLOBALS['current_site']->domain, 'path' => $GLOBALS['current_site']->path), false);
}
$GLOBALS['blog_id'] = $GLOBALS['current_blog']->blog_id;
}
// Emulate a switch_to_blog()
$table_prefix = $wpdb->get_blog_prefix($current_blog->blog_id);
$wpdb->set_blog_id($current_blog->blog_id, $current_blog->site_id);
$_wp_switched_stack = array();
$switched = false;
if (!isset($current_site->site_name)) {
$current_site->site_name = get_site_option('site_name');
if (!$current_site->site_name) {
$current_site->site_name = ucfirst($current_site->domain);
}
}
}
$this->flush_cache();
unset($GLOBALS['wp_query'], $GLOBALS['wp_the_query']);
$GLOBALS['wp_the_query'] = new WP_Query();
$GLOBALS['wp_query'] = $GLOBALS['wp_the_query'];
$GLOBALS['wp'] = new WP();
// clean out globals to stop them polluting wp and wp_query
foreach ($GLOBALS['wp']->public_query_vars as $v) {
unset($GLOBALS[$v]);
}
foreach ($GLOBALS['wp']->private_query_vars as $v) {
unset($GLOBALS[$v]);
}
$GLOBALS['wp']->main($parts['query']);
$wp_roles->reinit();
$current_user = wp_get_current_user();
$current_user->for_blog($blog_id);
// For BuddyPress, James.
$this->clean_up_global_scope();
$GLOBALS['bp']->loggedin_user = NULL;
$GLOBALS['bp']->pages = bp_core_get_directory_pages();
do_action('bp_init');
}
示例2: die
}
$current_site = $wpdb->get_row($wpdb->prepare("SELECT * FROM {$wpdb->site} WHERE domain = %s AND path='/'", $domain));
if ($current_site == null && defined("WP_INSTALLING") == false) {
if (count($sites) == 1) {
$current_site = $sites[0];
die("That blog does not exist. Please try <a href='http://{$current_site->domain}{$current_site->path}'>http://{$current_site->domain}{$current_site->path}</a>");
} else {
die("No WPMU site defined on this host. If you are the owner of this site, please check <a href='http://codex.wordpress.org/Debugging_WPMU'>Debugging WPMU</a> for further assistance.");
}
} else {
$path = '/';
}
}
return $current_site;
}
$current_site = wpmu_current_site();
if (!isset($current_site->blog_id)) {
$current_site->blog_id = $wpdb->get_var("SELECT blog_id FROM {$wpdb->blogs} WHERE domain='{$current_site->domain}' AND path='{$current_site->path}'");
}
if (constant('VHOST') == 'yes') {
$current_blog = wp_cache_get('current_blog_' . $domain, 'site-options');
if (!$current_blog) {
$current_blog = $wpdb->get_row($wpdb->prepare("SELECT * FROM {$wpdb->blogs} WHERE domain = %s", $domain));
if ($current_blog) {
wp_cache_set('current_blog_' . $domain, $current_blog, 'site-options');
}
}
if ($current_blog != null && $current_blog->site_id != $current_site->id) {
$current_site = $wpdb->get_row($wpdb->prepare("SELECT * FROM {$wpdb->site} WHERE id = %d", $current_blog->site_id));
} else {
$blogname = substr($domain, 0, strpos($domain, '.'));
示例3: create
/**
* Create a site in a multisite install.
*
* ## OPTIONS
*
* --slug=<slug>
* : Path for the new site. Subdomain on subdomain installs, directory on subdirectory installs.
*
* --title=<title>
* : Title of the new site. Default: prettified slug.
*
* --email=<email>
* : Email for Admin user. User will be created if none exists. Assignement to Super Admin if not included.
*
* --network_id=<network-id>
* : Network to associate new site with. Defaults to current network (typically 1).
*
* --private
* : If set, the new site will be non-public (not indexed)
*
* --porcelain
* : If set, only the site id will be output on success.
*
* @synopsis --slug=<slug> [--title=<title>] [--email=<email>] [--network_id=<network-id>] [--private] [--porcelain]
*/
public function create($_, $assoc_args)
{
if (!is_multisite()) {
WP_CLI::error('This is not a multisite install.');
}
global $wpdb;
$base = $assoc_args['slug'];
$title = isset($assoc_args['title']) ? $assoc_args['title'] : ucfirst($base);
$email = empty($assoc_args['email']) ? '' : $assoc_args['email'];
// Network
if (!empty($assoc_args['network_id'])) {
$network = $this->_get_network($assoc_args['network_id']);
if ($network === false) {
WP_CLI::error(sprintf('Network with id %d does not exist.', $assoc_args['network_id']));
}
} else {
$network = wpmu_current_site();
}
$public = !isset($assoc_args['private']);
// Sanitize
if (preg_match('|^([a-zA-Z0-9-])+$|', $base)) {
$base = strtolower($base);
}
// If not a subdomain install, make sure the domain isn't a reserved word
if (!is_subdomain_install()) {
$subdirectory_reserved_names = apply_filters('subdirectory_reserved_names', array('page', 'comments', 'blog', 'files', 'feed'));
if (in_array($base, $subdirectory_reserved_names)) {
WP_CLI::error('The following words are reserved and cannot be used as blog names: ' . implode(', ', $subdirectory_reserved_names));
}
}
// Check for valid email, if not, use the first Super Admin found
// Probably a more efficient way to do this so we dont query for the
// User twice if super admin
$email = sanitize_email($email);
if (empty($email) || !is_email($email)) {
$super_admins = get_super_admins();
$email = '';
if (!empty($super_admins) && is_array($super_admins)) {
// Just get the first one
$super_login = $super_admins[0];
$super_user = get_user_by('login', $super_login);
if ($super_user) {
$email = $super_user->user_email;
}
}
}
if (is_subdomain_install()) {
$path = '/';
$url = $newdomain = $base . '.' . preg_replace('|^www\\.|', '', $network->domain);
} else {
$newdomain = $network->domain;
$path = '/' . trim($base, '/') . '/';
$url = $network->domain . $path;
}
$user_id = email_exists($email);
if (!$user_id) {
// Create a new user with a random password
$password = wp_generate_password(12, false);
$user_id = wpmu_create_user($base, $password, $email);
if (false == $user_id) {
WP_CLI::error("Can't create user.");
} else {
wp_new_user_notification($user_id, $password);
}
}
$wpdb->hide_errors();
$id = wpmu_create_blog($newdomain, $path, $title, $user_id, array('public' => $public), $network->id);
$wpdb->show_errors();
if (!is_wp_error($id)) {
if (!is_super_admin($user_id) && !get_user_option('primary_blog', $user_id)) {
update_user_option($user_id, 'primary_blog', $id, true);
}
// Prevent mailing admins of new sites
// @TODO argument to pass in?
// $content_mail = sprintf(__( "New site created by WP Command Line Interface\n\nAddress: %2s\nName: %3s"), get_site_url($id), stripslashes($title));
//.........这里部分代码省略.........