Créer les options de WordPress et définir les valeurs par défaut.

Paramètres

$options

(tableau)(Facultatif) Paires d'options personnalisées $key => $value à utiliser.

Valeur par défaut : array()

Source

Fichier : wp-admin/includes/schema.php

functionpopulate_options(array$options=array()){global$wpdb,$wp_db_version,$wp_current_db_version;$guessurl=wp_guess_url();/**
	 * Fires before creating WordPress options and populating their default values.
	 *
	 * @since 2.6.0
	 */do_action('populate_options');// If WP_DEFAULT_THEME doesn't exist, fall back to the latest core default theme.$stylesheet=WP_DEFAULT_THEME;$template=WP_DEFAULT_THEME;$theme=wp_get_theme(WP_DEFAULT_THEME);if(!$theme->exists()){$theme=WP_Theme::get_core_default_theme();}// If we can't find a core default theme, WP_DEFAULT_THEME is the best we can do.if($theme){$stylesheet=$theme->get_stylesheet();$template=$theme->get_template();}$timezone_string='';$gmt_offset=0;/*
	 * translators: default GMT offset or timezone string. Must be either a valid offset (-12 to 14)
	 * or a valid timezone string (America/New_York). See https://www.php.net/manual/en/timezones.php
	 * for all timezone strings supported by PHP.
	 */$offset_or_tz=_x('0','default GMT offset or timezone string');// phpcs:ignore WordPress.WP.I18n.NoEmptyStringsif(is_numeric($offset_or_tz)){$gmt_offset=$offset_or_tz;}elseif($offset_or_tz&&in_array($offset_or_tz,timezone_identifiers_list(),true)){$timezone_string=$offset_or_tz;}$defaults=array('siteurl'=>$guessurl,'home'=>$guessurl,'blogname'=>__('My Site'),/* translators: Site tagline. */'blogdescription'=>__('Just another WordPress site'),'users_can_register'=>0,'admin_email'=>'[email protected]',/* translators: Default start of the week. 0 = Sunday, 1 = Monday. */'start_of_week'=>_x('1','start of week'),'use_balanceTags'=>0,'use_smilies'=>1,'require_name_email'=>1,'comments_notify'=>1,'posts_per_rss'=>10,'rss_use_excerpt'=>0,'mailserver_url'=>'mail.example.com','mailserver_login'=>'[email protected]','mailserver_pass'=>'password','mailserver_port'=>110,'default_category'=>1,'default_comment_status'=>'open','default_ping_status'=>'open','default_pingback_flag'=>1,'posts_per_page'=>10,/* translators: Default date format, see https://www.php.net/manual/datetime.format.php */'date_format'=>__('F j, Y'),/* translators: Default time format, see https://www.php.net/manual/datetime.format.php */'time_format'=>__('g:i a'),/* translators: Links last updated date format, see https://www.php.net/manual/datetime.format.php */'links_updated_date_format'=>__('F j, Y g:i a'),'comment_moderation'=>0,'moderation_notify'=>1,'permalink_structure'=>'','rewrite_rules'=>'','hack_file'=>0,'blog_charset'=>'UTF-8','moderation_keys'=>'','active_plugins'=>array(),'category_base'=>'','ping_sites'=>'http://rpc.pingomatic.com/','comment_max_links'=>2,'gmt_offset'=>$gmt_offset,// 1.5.0'default_email_category'=>1,'recently_edited'=>'','template'=>$template,'stylesheet'=>$stylesheet,'comment_registration'=>0,'html_type'=>'text/html',// 1.5.1'use_trackback'=>0,// 2.0.0'default_role'=>'subscriber','db_version'=>$wp_db_version,// 2.0.1'uploads_use_yearmonth_folders'=>1,'upload_path'=>'',// 2.1.0'blog_public'=>'1','default_link_category'=>2,'show_on_front'=>'posts',// 2.2.0'tag_base'=>'',// 2.5.0'show_avatars'=>'1','avatar_rating'=>'G','upload_url_path'=>'','thumbnail_size_w'=>150,'thumbnail_size_h'=>150,'thumbnail_crop'=>1,'medium_size_w'=>300,'medium_size_h'=>300,// 2.6.0'avatar_default'=>'mystery',// 2.7.0'large_size_w'=>1024,'large_size_h'=>1024,'image_default_link_type'=>'none','image_default_size'=>'','image_default_align'=>'','close_comments_for_old_posts'=>0,'close_comments_days_old'=>14,'thread_comments'=>1,'thread_comments_depth'=>5,'page_comments'=>0,'comments_per_page'=>50,'default_comments_page'=>'newest','comment_order'=>'asc','sticky_posts'=>array(),'widget_categories'=>array(),'widget_text'=>array(),'widget_rss'=>array(),'uninstall_plugins'=>array(),// 2.8.0'timezone_string'=>$timezone_string,// 3.0.0'page_for_posts'=>0,'page_on_front'=>0,// 3.1.0'default_post_format'=>0,// 3.5.0'link_manager_enabled'=>0,// 4.3.0'finished_splitting_shared_terms'=>1,'site_icon'=>0,// 4.4.0'medium_large_size_w'=>768,'medium_large_size_h'=>0,// 4.9.6'wp_page_for_privacy_policy'=>0,// 4.9.8'show_comments_cookies_opt_in'=>1,// 5.3.0'admin_email_lifespan'=>(time()+6*MONTH_IN_SECONDS),// 5.5.0'disallowed_keys'=>'','comment_previously_approved'=>1,'auto_plugin_theme_update_emails'=>array(),// 5.6.0'auto_update_core_dev'=>'enabled','auto_update_core_minor'=>'enabled',// Default to enabled for new installs.// See https://core.trac.wordpress.org/ticket/51742.'auto_update_core_major'=>'enabled',);// 3.3.0if(!is_multisite()){$defaults['initial_db_version']=!empty($wp_current_db_version)&&$wp_current_db_version<$wp_db_version?$wp_current_db_version:$wp_db_version;}// 3.0.0 multisite.if(is_multisite()){/* translators: %s: Network title. */$defaults['blogdescription']=sprintf(__('Just another %s site'),get_network()->site_name);$defaults['permalink_structure']='/%year%/%monthnum%/%day%/%postname%/';}$options=wp_parse_args($options,$defaults);// Set autoload to no for these options.$fat_options=array('moderation_keys','recently_edited','disallowed_keys','uninstall_plugins','auto_plugin_theme_update_emails',);$keys="'"implode("', '",array_keys($options))"'";$existing_options=$wpdb->get_col("SELECT option_name FROM $wpdb->options WHERE option_name in ( $keys )");// phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared$insert='';foreach($optionsas$option=>$value){if(in_array($option,$existing_options,true)){continue;}if(in_array($option,$fat_options,true)){$autoload='no';}else{$autoload='yes';}if(is_array($value)){$value=serialize($value);}if(!empty($insert)){$insert.=', ';}$insert.=$wpdb->prepare('(%s, %s, %s)',$option,$value,$autoload);}if(!empty($insert)){$wpdb->query("INSERT INTO $wpdb->options (option_name, option_value, autoload) VALUES "$insert);// phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared}// In case it is set, but blank, update "home".if(!__get_option('home')){update_option('home',$guessurl);}// Delete unused options.$unusedoptions=array('blodotgsping_url','bodyterminator','emailtestonly','phoneemail_separator','smilies_directory','subjectprefix','use_bbcode','use_blodotgsping','use_phoneemail','use_quicktags','use_weblogsping','weblogs_cache_file','use_preview','use_htmltrans','smilies_directory','fileupload_allowedusers','use_phoneemail','default_post_status','default_post_category','archive_mode','time_difference','links_minadminlevel','links_use_adminlevels','links_rating_type','links_rating_char','links_rating_ignore_zero','links_rating_single_image','links_rating_image0','links_rating_image1','links_rating_image2','links_rating_image3','links_rating_image4','links_rating_image5','links_rating_image6','links_rating_image7','links_rating_image8','links_rating_image9','links_recently_updated_time','links_recently_updated_prepend','links_recently_updated_append','weblogs_cacheminutes','comment_allowed_tags','search_engine_friendly_urls','default_geourl_lat','default_geourl_lon','use_default_geourl','weblogs_xml_url','new_users_can_blog','_wpnonce','_wp_http_referer','Update','action','rich_editing','autosave_interval','deactivated_plugins','can_compress_scripts','page_uris','update_core','update_plugins','update_themes','doing_cron','random_seed','rss_excerpt_length','secret','use_linksupdate','default_comment_status_page','wporg_popular_tags','what_to_show','rss_language','language','enable_xmlrpc','enable_app','embed_autourls','default_post_edit_rows','gzipcompression','advanced_edit',);foreach($unusedoptionsas$option){delete_option($option);}// Delete obsolete magpie stuff.$wpdb->query("DELETE FROM $wpdb->options WHERE option_name REGEXP '^rss_[0-9a-f]{32}(_ts)?$'");// Clear expired transients.delete_expired_transients(true);}

Related

Utilise

Utilisations Description
wp-includes/option.php : delete_expired_transients()

Supprime tous les transitoires expirés.

wp-includes/ms-network.php : get_network()

Récupère les données du réseau étant donné un ID de réseau ou un objet de réseau.

wp-includes/class-wp-theme.php : WP_Theme::get_core_default_theme()

Détermine le dernier thème par défaut de WordPress qui est installé.

wp-admin/includes/schema.php : populate_options

Se déclenche avant de créer les options de WordPress et de populer leurs valeurs par défaut.

wp-includes/theme.php : wp_get_theme()

Obtient un objet WP_Theme pour un thème.

wp-includes/l10n.php : _x()

Récupérer la chaîne traduite avec le contexte gettext.

wp-includes/l10n.php : __()

Récupérer la traduction de $text.

wp-includes/load.php : is_multisite()

Si Multisite est activé.

wp-includes/functions.php : wp_guess_url()

Devine l'URL du site.

wp-includes/functions.php : wp_parse_args()

Fusionne les arguments définis par l'utilisateur dans le tableau defaults.

wp-includes/plugin.php : do_action()

Exécute les fonctions accrochées à un crochet d'action spécifique.

wp-includes/option.php : update_option()

Met à jour la valeur d'une option qui a déjà été ajoutée.

wp-includes/option.php : delete_option()

Supprime l'option par son nom. Empêche la suppression des options protégées de WordPress.

wp-includes/wp-db.php : wpdb::get_col()

Récupère une colonne de la base de données.

wp-includes/wp-db.php : wpdb::query()

Effectue une requête sur la base de données MySQL, en utilisant la connexion actuelle à la base de données.

wp-includes/wp-db.php : wpdb::prepare()

Prépare une requête SQL pour une exécution sûre.

Utilisé par

Utilisé par Description
wp-includes/ms-site.php : wp_initialize_site()

Exécute la routine d'initialisation pour un site donné.

wp-admin/includes/upgrade.php : wp_install()

Installe le site.

wp-includes/ms-deprecated.php : install_blog()

Installer un blog vide.

Changelog

Version Description
5.1.0 Le paramètre $options a été ajouté.
1.5.0 Introduit .