当前位置: 首页>>代码示例>>PHP>>正文


PHP wpmu_current_site函数代码示例

本文整理汇总了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');
 }
开发者ID:jasonmcalpin,项目名称:BuddyPress,代码行数:101,代码来源:testcase.php

示例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, '.'));
开发者ID:ericandrewlewis,项目名称:wordpress-mu,代码行数:31,代码来源:wpmu-settings.php

示例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));
//.........这里部分代码省略.........
开发者ID:nb,项目名称:wp-cli,代码行数:101,代码来源:site.php


注:本文中的wpmu_current_site函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。