wp_install( string $blog_title, string $user_name, string $user_email, bool $public, string $deprecated = '', string $user_password = '', string $language = '' )
Installs the site.
Description Description
Runs the required functions to set up and populate the database, including primary admin user and initial options.
Parameters Parameters
- $blog_title
-
(string) (Required) Site title.
- $user_name
-
(string) (Required) User's username.
- $user_email
-
(string) (Required) User's email.
- $public
-
(bool) (Required) Whether site is public.
- $deprecated
-
(string) (Optional) Not used.
Default value: ''
- $user_password
-
(string) (Optional) User's chosen password. Default empty (random password).
Default value: ''
- $language
-
(string) (Optional) Language chosen.
Default value: ''
Return Return
(array) Array keys 'url', 'user_id', 'password', and 'password_message'.
Source Source
File: wp-admin/includes/upgrade.php
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 | function wp_install( $blog_title , $user_name , $user_email , $public , $deprecated = '' , $user_password = '' , $language = '' ) { if ( ! empty ( $deprecated ) ) { _deprecated_argument( __FUNCTION__ , '2.6.0' ); } wp_check_mysql_version(); wp_cache_flush(); make_db_current_silent(); populate_options(); populate_roles(); update_option( 'blogname' , $blog_title ); update_option( 'admin_email' , $user_email ); update_option( 'blog_public' , $public ); // Freshness of site - in the future, this could get more specific about actions taken, perhaps. update_option( 'fresh_site' , 1 ); if ( $language ) { update_option( 'WPLANG' , $language ); } $guessurl = wp_guess_url(); update_option( 'siteurl' , $guessurl ); // If not a public site, don't ping. if ( ! $public ) { update_option( 'default_pingback_flag' , 0 ); } /* * Create default user. If the user already exists, the user tables are * being shared among sites. Just set the role in that case. */ $user_id = username_exists( $user_name ); $user_password = trim( $user_password ); $email_password = false; if ( ! $user_id && empty ( $user_password ) ) { $user_password = wp_generate_password( 12, false ); $message = __( '<strong><em>Note that password</em></strong> carefully! It is a <em>random</em> password that was generated just for you.' ); $user_id = wp_create_user( $user_name , $user_password , $user_email ); update_user_option( $user_id , 'default_password_nag' , true, true ); $email_password = true; } elseif ( ! $user_id ) { // Password has been provided $message = '<em>' . __( 'Your chosen password.' ) . '</em>' ; $user_id = wp_create_user( $user_name , $user_password , $user_email ); } else { $message = __( 'User already exists. Password inherited.' ); } $user = new WP_User( $user_id ); $user ->set_role( 'administrator' ); wp_install_defaults( $user_id ); wp_install_maybe_enable_pretty_permalinks(); flush_rewrite_rules(); wp_new_blog_notification( $blog_title , $guessurl , $user_id , ( $email_password ? $user_password : __( 'The password you chose during installation.' ) ) ); wp_cache_flush(); /** * Fires after a site is fully installed. * * @since 3.9.0 * * @param WP_User $user The site owner. */ do_action( 'wp_install' , $user ); return array ( 'url' => $guessurl , 'user_id' => $user_id , 'password' => $user_password , 'password_message' => $message , ); } |
Expand full source code Collapse full source code View on Trac
Changelog Changelog
Version | Description |
---|---|
2.1.0 | Introduced. |