wp/wp-admin/includes/options.php
changeset 7 cf61fcea0001
child 9 177826044cd9
equal deleted inserted replaced
6:490d5cc509ed 7:cf61fcea0001
       
     1 <?php
       
     2 /**
       
     3  * WordPress Options Administration API.
       
     4  *
       
     5  * @package WordPress
       
     6  * @subpackage Administration
       
     7  * @since 4.4.0
       
     8  */
       
     9 
       
    10 /**
       
    11  * Output JavaScript to toggle display of additional settings if avatars are disabled.
       
    12  *
       
    13  * @since 4.2.0
       
    14  */
       
    15 function options_discussion_add_js() {
       
    16 ?>
       
    17 	<script>
       
    18 	(function($){
       
    19 		var parent = $( '#show_avatars' ),
       
    20 			children = $( '.avatar-settings' );
       
    21 		parent.change(function(){
       
    22 			children.toggleClass( 'hide-if-js', ! this.checked );
       
    23 		});
       
    24 	})(jQuery);
       
    25 	</script>
       
    26 <?php
       
    27 }
       
    28 
       
    29 /**
       
    30  * Display JavaScript on the page.
       
    31  *
       
    32  * @since 3.5.0
       
    33  */
       
    34 function options_general_add_js() {
       
    35 ?>
       
    36 <script type="text/javascript">
       
    37 	jQuery(document).ready(function($){
       
    38 		var $siteName = $( '#wp-admin-bar-site-name' ).children( 'a' ).first(),
       
    39 			homeURL = ( <?php echo wp_json_encode( get_home_url() ); ?> || '' ).replace( /^(https?:\/\/)?(www\.)?/, '' );
       
    40 
       
    41 		$( '#blogname' ).on( 'input', function() {
       
    42 			var title = $.trim( $( this ).val() ) || homeURL;
       
    43 
       
    44 			// Truncate to 40 characters.
       
    45 			if ( 40 < title.length ) {
       
    46 				title = title.substring( 0, 40 ) + '\u2026';
       
    47 			}
       
    48 
       
    49 			$siteName.text( title );
       
    50 		});
       
    51 
       
    52 		$("input[name='date_format']").click(function(){
       
    53 			if ( "date_format_custom_radio" != $(this).attr("id") )
       
    54 				$( 'input[name="date_format_custom"]' ).val( $( this ).val() ).closest( 'fieldset' ).find( '.example' ).text( $( this ).parent( 'label' ).children( '.format-i18n' ).text() );
       
    55 		});
       
    56 		$( 'input[name="date_format_custom"]' ).on( 'click input', function() {
       
    57 			$( '#date_format_custom_radio' ).prop( 'checked', true );
       
    58 		});
       
    59 
       
    60 		$("input[name='time_format']").click(function(){
       
    61 			if ( "time_format_custom_radio" != $(this).attr("id") )
       
    62 				$( 'input[name="time_format_custom"]' ).val( $( this ).val() ).closest( 'fieldset' ).find( '.example' ).text( $( this ).parent( 'label' ).children( '.format-i18n' ).text() );
       
    63 		});
       
    64 		$( 'input[name="time_format_custom"]' ).on( 'click input', function() {
       
    65 			$( '#time_format_custom_radio' ).prop( 'checked', true );
       
    66 		});
       
    67 		$("input[name='date_format_custom'], input[name='time_format_custom']").change( function() {
       
    68 			var format = $( this ),
       
    69 				fieldset = format.closest( 'fieldset' ),
       
    70 				example = fieldset.find( '.example' ),
       
    71 				spinner = fieldset.find( '.spinner' );
       
    72 
       
    73 			spinner.addClass( 'is-active' );
       
    74 
       
    75 			$.post( ajaxurl, {
       
    76 					action: 'date_format_custom' == format.attr( 'name' ) ? 'date_format' : 'time_format',
       
    77 					date : format.val()
       
    78 				}, function( d ) { spinner.removeClass( 'is-active' ); example.text( d ); } );
       
    79 		});
       
    80 
       
    81 		var languageSelect = $( '#WPLANG' );
       
    82 		$( 'form' ).submit( function() {
       
    83 			// Don't show a spinner for English and installed languages,
       
    84 			// as there is nothing to download.
       
    85 			if ( ! languageSelect.find( 'option:selected' ).data( 'installed' ) ) {
       
    86 				$( '#submit', this ).after( '<span class="spinner language-install-spinner is-active" />' );
       
    87 			}
       
    88 		});
       
    89 	});
       
    90 </script>
       
    91 <?php
       
    92 }
       
    93 
       
    94 /**
       
    95  * Display JavaScript on the page.
       
    96  *
       
    97  * @since 3.5.0
       
    98  */
       
    99 function options_reading_add_js() {
       
   100 ?>
       
   101 <script type="text/javascript">
       
   102 	jQuery(document).ready(function($){
       
   103 		var section = $('#front-static-pages'),
       
   104 			staticPage = section.find('input:radio[value="page"]'),
       
   105 			selects = section.find('select'),
       
   106 			check_disabled = function(){
       
   107 				selects.prop( 'disabled', ! staticPage.prop('checked') );
       
   108 			};
       
   109 		check_disabled();
       
   110  		section.find('input:radio').change(check_disabled);
       
   111 	});
       
   112 </script>
       
   113 <?php
       
   114 }
       
   115 
       
   116 /**
       
   117  * Render the site charset setting.
       
   118  *
       
   119  * @since 3.5.0
       
   120  */
       
   121 function options_reading_blog_charset() {
       
   122 	echo '<input name="blog_charset" type="text" id="blog_charset" value="' . esc_attr( get_option( 'blog_charset' ) ) . '" class="regular-text" />';
       
   123 	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>';
       
   124 }