Options: Hide the week starts on setting for installs that have the default setting already.

The default setting is the value of `$wp_locale->start_of_week` which holds the value per locale, see [35336].

Props swissspidy, ocean90.
Fixes #28344.

git-svn-id: https://develop.svn.wordpress.org/trunk@35337 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Dominik Schilling (ocean90) 2015-10-21 17:38:44 +00:00
parent 597e3630f3
commit 05356ff7dc
3 changed files with 45 additions and 20 deletions

View File

@ -139,3 +139,24 @@ function options_reading_blog_charset() {
echo '<input name="blog_charset" type="text" id="blog_charset" value="' . esc_attr( get_option( 'blog_charset' ) ) . '" class="regular-text" />'; echo '<input name="blog_charset" type="text" id="blog_charset" value="' . esc_attr( get_option( 'blog_charset' ) ) . '" class="regular-text" />';
echo '<p class="description">' . __( 'The <a href="https://codex.wordpress.org/Glossary#Character_set">character encoding</a> of your site (UTF-8 is recommended)' ) . '</p>'; echo '<p class="description">' . __( 'The <a href="https://codex.wordpress.org/Glossary#Character_set">character encoding</a> of your site (UTF-8 is recommended)' ) . '</p>';
} }
/**
* Render the week starts on setting.
*
* @global WP_Locale $wp_locale
*
* @since 4.4.0
*/
function options_general_start_of_week() {
global $wp_locale;
?>
<select name="start_of_week" id="start_of_week">
<?php
$start_of_week = get_option( 'start_of_week' );
for ( $day_index = 0; $day_index <= 6; $day_index++ ) {
echo "\n\t<option value='" . esc_attr( $day_index ) . "'" . selected( $start_of_week, $day_index, false ) . ">" . $wp_locale->get_weekday( $day_index ) . '</option>';
}
?>
</select>
<?php
}

View File

@ -53,7 +53,17 @@ include( ABSPATH . 'wp-admin/admin-header.php' );
<h1><?php echo esc_html( $title ); ?></h1> <h1><?php echo esc_html( $title ); ?></h1>
<form method="post" action="options.php" novalidate="novalidate"> <form method="post" action="options.php" novalidate="novalidate">
<?php settings_fields('general'); ?> <?php
settings_fields( 'general' );
/**
* @global WP_Locale $wp_locale
*/
global $wp_locale;
if ( get_option( 'start_of_week' ) != $wp_locale->start_of_week ) {
add_settings_field( 'start_of_week', __( 'Week Starts On' ), 'options_general_start_of_week', 'general', 'default', array( 'label_for' => 'start_of_week' ) );
}
?>
<table class="form-table"> <table class="form-table">
<tr> <tr>
@ -274,23 +284,8 @@ if ( empty($tzstring) ) { // Create a UTC+- zone if no timezone string exists
</fieldset> </fieldset>
</td> </td>
</tr> </tr>
<tr>
<th scope="row"><label for="start_of_week"><?php _e('Week Starts On') ?></label></th>
<td><select name="start_of_week" id="start_of_week">
<?php
/**
* @global WP_Locale $wp_locale
*/
global $wp_locale;
for ($day_index = 0; $day_index <= 6; $day_index++) : <?php do_settings_fields( 'general', 'default' ); ?>
$selected = (get_option('start_of_week') == $day_index) ? 'selected="selected"' : '';
echo "\n\t<option value='" . esc_attr($day_index) . "' $selected>" . $wp_locale->get_weekday($day_index) . '</option>';
endfor;
?>
</select></td>
</tr>
<?php do_settings_fields('general', 'default'); ?>
<?php <?php
$languages = get_available_languages(); $languages = get_available_languages();

View File

@ -82,7 +82,7 @@ if ( is_multisite() && ! is_super_admin() && 'update' != $action ) {
} }
$whitelist_options = array( $whitelist_options = array(
'general' => array( 'blogname', 'blogdescription', 'gmt_offset', 'date_format', 'time_format', 'start_of_week', 'timezone_string', 'WPLANG' ), 'general' => array( 'blogname', 'blogdescription', 'gmt_offset', 'date_format', 'time_format', 'timezone_string', 'WPLANG' ),
'discussion' => array( 'default_pingback_flag', 'default_ping_status', 'default_comment_status', 'comments_notify', 'moderation_notify', 'comment_moderation', 'require_name_email', 'comment_whitelist', 'comment_max_links', 'moderation_keys', 'blacklist_keys', 'show_avatars', 'avatar_rating', 'avatar_default', 'close_comments_for_old_posts', 'close_comments_days_old', 'thread_comments', 'thread_comments_depth', 'page_comments', 'comments_per_page', 'default_comments_page', 'comment_order', 'comment_registration' ), 'discussion' => array( 'default_pingback_flag', 'default_ping_status', 'default_comment_status', 'comments_notify', 'moderation_notify', 'comment_moderation', 'require_name_email', 'comment_whitelist', 'comment_max_links', 'moderation_keys', 'blacklist_keys', 'show_avatars', 'avatar_rating', 'avatar_default', 'close_comments_for_old_posts', 'close_comments_days_old', 'thread_comments', 'thread_comments_depth', 'page_comments', 'comments_per_page', 'default_comments_page', 'comment_order', 'comment_registration' ),
'media' => array( 'thumbnail_size_w', 'thumbnail_size_h', 'thumbnail_crop', 'medium_size_w', 'medium_size_h', 'large_size_w', 'large_size_h', 'image_default_size', 'image_default_align', 'image_default_link_type' ), 'media' => array( 'thumbnail_size_w', 'thumbnail_size_h', 'thumbnail_crop', 'medium_size_w', 'medium_size_h', 'large_size_w', 'large_size_h', 'image_default_size', 'image_default_align', 'image_default_link_type' ),
'reading' => array( 'posts_per_page', 'posts_per_rss', 'rss_use_excerpt', 'show_on_front', 'page_on_front', 'page_for_posts', 'blog_public' ), 'reading' => array( 'posts_per_page', 'posts_per_rss', 'rss_use_excerpt', 'show_on_front', 'page_on_front', 'page_for_posts', 'blog_public' ),
@ -92,8 +92,17 @@ $whitelist_options['misc'] = $whitelist_options['options'] = $whitelist_options[
$mail_options = array('mailserver_url', 'mailserver_port', 'mailserver_login', 'mailserver_pass'); $mail_options = array('mailserver_url', 'mailserver_port', 'mailserver_login', 'mailserver_pass');
if ( ! in_array( get_option( 'blog_charset' ), array( 'utf8', 'utf-8', 'UTF8', 'UTF-8' ) ) ) if ( ! in_array( get_option( 'blog_charset' ), array( 'utf8', 'utf-8', 'UTF8', 'UTF-8' ) ) ) {
$whitelist_options['reading'][] = 'blog_charset'; $whitelist_options['reading'][] = 'blog_charset';
}
/**
* @global WP_Locale $wp_locale
*/
global $wp_locale;
if ( get_option( 'start_of_week' ) != $wp_locale->start_of_week ) {
$whitelist_options['general'][] = 'start_of_week';
}
if ( get_site_option( 'initial_db_version' ) < 32453 ) { if ( get_site_option( 'initial_db_version' ) < 32453 ) {
$whitelist_options['writing'][] = 'use_smilies'; $whitelist_options['writing'][] = 'use_smilies';