wp/wp-admin/about.php
changeset 9 177826044cd9
parent 7 cf61fcea0001
child 13 d255fe9cd479
equal deleted inserted replaced
8:c7c34916027a 9:177826044cd9
     7  */
     7  */
     8 
     8 
     9 /** WordPress Administration Bootstrap */
     9 /** WordPress Administration Bootstrap */
    10 require_once( dirname( __FILE__ ) . '/admin.php' );
    10 require_once( dirname( __FILE__ ) . '/admin.php' );
    11 
    11 
    12 wp_enqueue_script( 'underscore' );
       
    13 
       
    14 /* translators: Page title of the About WordPress page in the admin. */
    12 /* translators: Page title of the About WordPress page in the admin. */
    15 $title = _x( 'About', 'page title' );
    13 $title = _x( 'About', 'page title' );
    16 
    14 
    17 list( $display_version ) = explode( '-', get_bloginfo( 'version' ) );
    15 list( $display_version ) = explode( '-', get_bloginfo( 'version' ) );
    18 
    16 
    19 include( ABSPATH . 'wp-admin/admin-header.php' );
    17 include( ABSPATH . 'wp-admin/admin-header.php' );
    20 ?>
    18 ?>
    21 	<div class="wrap about-wrap full-width-layout">
    19 	<div class="wrap about-wrap full-width-layout">
    22 		<h1><?php printf( __( 'Welcome to WordPress&nbsp;%s' ), $display_version ); ?></h1>
    20 		<h1>
    23 
    21 			<?php
    24 		<p class="about-text"><?php printf( __( 'Thank you for updating to the latest version! WordPress %s will smooth your design workflow and keep you safe from coding errors.' ), $display_version ); ?></p>
    22 			/* translators: %s: The current WordPress version number */
    25 		<div class="wp-badge"><?php printf( __( 'Version %s' ), $display_version ); ?></div>
    23 			printf( __( 'Welcome to WordPress&nbsp;%s' ), $display_version );
    26 
    24 			?>
    27 		<h2 class="nav-tab-wrapper wp-clearfix">
    25 		</h1>
    28 			<a href="about.php" class="nav-tab nav-tab-active"><?php _e( 'What&#8217;s New' ); ?></a>
    26 
       
    27 		<p class="about-text">
       
    28 			<?php
       
    29 			printf(
       
    30 				/* translators: %s: The current WordPress version number */
       
    31 				__( 'Congratulations on updating to WordPress %s! This update makes it easier than ever to fix your site if something goes wrong.' ),
       
    32 				$display_version
       
    33 			);
       
    34 			?>
       
    35 		</p>
       
    36 
       
    37 		<div class="wp-badge">
       
    38 			<?php
       
    39 			/* translators: %s: The current WordPress version number */
       
    40 			printf( __( 'Version %s' ), $display_version );
       
    41 			?>
       
    42 		</div>
       
    43 
       
    44 		<nav class="nav-tab-wrapper wp-clearfix" aria-label="<?php esc_attr_e( 'Secondary menu' ); ?>">
       
    45 			<a href="about.php" class="nav-tab nav-tab-active" aria-current="page"><?php _e( 'What&#8217;s New' ); ?></a>
    29 			<a href="credits.php" class="nav-tab"><?php _e( 'Credits' ); ?></a>
    46 			<a href="credits.php" class="nav-tab"><?php _e( 'Credits' ); ?></a>
    30 			<a href="freedoms.php" class="nav-tab"><?php _e( 'Freedoms' ); ?></a>
    47 			<a href="freedoms.php" class="nav-tab"><?php _e( 'Freedoms' ); ?></a>
    31 			<a href="freedoms.php?privacy-notice" class="nav-tab"><?php _e( 'Privacy' ); ?></a>
    48 			<a href="freedoms.php?privacy-notice" class="nav-tab"><?php _e( 'Privacy' ); ?></a>
    32 		</h2>
    49 		</nav>
    33 
    50 
    34 		<div class="changelog point-releases">
    51 		<div class="changelog point-releases">
    35 			<h3><?php _e( 'Maintenance and Security Releases' ); ?></h3>
    52 			<h3><?php _e( 'Maintenance and Security Releases' ); ?></h3>
       
    53 			<p>
       
    54 				<?php
       
    55 				printf(
       
    56 					/* translators: 1: WordPress version number, 2: plural number of bugs. More than one security issue. */
       
    57 					_n(
       
    58 						'<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bug.',
       
    59 						'<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bugs.',
       
    60 						29
       
    61 					),
       
    62 					'5.2.3',
       
    63 					number_format_i18n( 29 )
       
    64 				);
       
    65 				?>
       
    66 				<?php
       
    67 				printf(
       
    68 					/* translators: %s: HelpHub URL */
       
    69 					__( 'For more information, see <a href="%s">the release notes</a>.' ),
       
    70 					sprintf(
       
    71 						/* translators: %s: WordPress version */
       
    72 						esc_url( __( 'https://wordpress.org/support/wordpress-version/version-%s/' ) ),
       
    73 						sanitize_title( '5.2.3' )
       
    74 					)
       
    75 				);
       
    76 				?>
       
    77 			</p>
    36 			<p>
    78 			<p>
    37 				<?php
    79 				<?php
    38 				printf(
    80 				printf(
    39 					/* translators: 1: WordPress version number, 2: plural number of bugs. */
    81 					/* translators: 1: WordPress version number, 2: plural number of bugs. */
    40 					_n(
    82 					_n(
    41 						'<strong>Version %1$s</strong> addressed %2$s bug.',
    83 						'<strong>Version %1$s</strong> addressed %2$s bug.',
    42 						'<strong>Version %1$s</strong> addressed %2$s bugs.',
    84 						'<strong>Version %1$s</strong> addressed %2$s bugs.',
    43 						46
    85 						13
    44 					),
    86 					),
    45 					'4.9.8',
    87 					'5.2.2',
    46 					number_format_i18n( 46 )
    88 					number_format_i18n( 13 )
    47 				);
    89 				);
    48 
    90 				?>
    49 				printf(
    91 				<?php
    50 					/* translators: %s: Codex URL */
    92 				printf(
       
    93 					/* translators: %s: HelpHub URL */
    51 					__( 'For more information, see <a href="%s">the release notes</a>.' ),
    94 					__( 'For more information, see <a href="%s">the release notes</a>.' ),
    52 					'https://codex.wordpress.org/Version_4.9.8'
    95 					sprintf(
    53 				);
    96 						/* translators: %s: WordPress version */
    54 				?>
    97 						esc_url( __( 'https://wordpress.org/support/wordpress-version/version-%s/' ) ),
    55 			</p>
    98 						sanitize_title( '5.2.2' )
    56 			<p>
    99 					)
    57 				<?php
   100 				);
    58 				printf(
       
    59 					/* translators: 1: WordPress version number, 2: plural number of bugs. */
       
    60 					_n(
       
    61 						'<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bug.',
       
    62 						'<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bugs.',
       
    63 						17
       
    64 					),
       
    65 					'4.9.7',
       
    66 					number_format_i18n( 17 )
       
    67 				);
       
    68 				?>
       
    69 				<?php
       
    70 				/* translators: %s: Codex URL */
       
    71 				printf( __( 'For more information, see <a href="%s">the release notes</a>.' ), 'https://codex.wordpress.org/Version_4.9.7' );
       
    72 				?>
   101 				?>
    73 			</p>
   102 			</p>
    74 			<p>
   103 			<p>
    75 				<?php
   104 				<?php
    76 				printf(
   105 				printf(
    77 					/* translators: 1: WordPress version number, 2: plural number of bugs. */
   106 					/* translators: 1: WordPress version number, 2: plural number of bugs. */
    78 					_n(
   107 					_n(
    79 						'<strong>Version %1$s</strong> addressed %2$s bug.',
   108 						'<strong>Version %1$s</strong> addressed %2$s bug.',
    80 						'<strong>Version %1$s</strong> addressed %2$s bugs.',
   109 						'<strong>Version %1$s</strong> addressed %2$s bugs.',
    81 						18
   110 						33
    82 					),
   111 					),
    83 					'4.9.6',
   112 					'5.2.1',
    84 					number_format_i18n( 18 )
   113 					number_format_i18n( 33 )
    85 				);
   114 				);
    86 				?>
   115 				?>
    87 				<?php
   116 				<?php
    88 				/* translators: %s: Codex URL */
   117 				printf(
    89 				printf( __( 'For more information, see <a href="%s">the release notes</a>.' ), 'https://codex.wordpress.org/Version_4.9.6' );
   118 					/* translators: %s: HelpHub URL */
       
   119 					__( 'For more information, see <a href="%s">the release notes</a>.' ),
       
   120 					sprintf(
       
   121 						/* translators: %s: WordPress version */
       
   122 						esc_url( __( 'https://wordpress.org/support/wordpress-version/version-%s/' ) ),
       
   123 						sanitize_title( '5.2.1' )
       
   124 					)
       
   125 				);
    90 				?>
   126 				?>
    91 			</p>
   127 			</p>
    92 			<p>
   128 		</div>
    93 				<?php
   129 
    94 				printf(
   130 		<div class="headline-feature">
    95 					/* translators: 1: WordPress version number, 2: plural number of bugs. */
   131 			<h2><?php _e( 'Keeping Your Site Safe' ); ?></h2>
    96 					_n(
   132 			<p class="lead-description"><?php _e( 'WordPress 5.2 gives you even more robust tools for identifying and fixing configuration issues and fatal errors. Whether you are a developer helping clients or you manage your site solo, these tools can help get you the right information when you need it.' ); ?></p>
    97 						'<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bug.',
   133 			<div class="inline-svg aligncenter">
    98 						'<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bugs.',
   134 				<img src="https://s.w.org/images/core/5.2/about_maintain-wordpress-v2.svg" alt="">
    99 						28
   135 			</div>
   100 					),
   136 		</div>
   101 					'4.9.5',
   137 
   102 					number_format_i18n( 28 )
   138 		<hr />
   103 				);
   139 
   104 				?>
   140 		<div class="feature-section is-wide has-2-columns is-wider-left">
   105 				<?php
   141 			<div class="column is-vertically-aligned-center">
   106 				/* translators: %s: Codex URL */
   142 				<h3><?php _e( 'Site Health Check' ); ?></h3>
   107 				printf( __( 'For more information, see <a href="%s">the release notes</a>.' ), 'https://codex.wordpress.org/Version_4.9.5' );
   143 				<p>
   108 				?>
       
   109 			</p>
       
   110 			<p>
       
   111 				<?php
       
   112 				printf(
       
   113 					/* translators: 1: WordPress version number, 2: plural number of bugs. */
       
   114 					_n(
       
   115 						'<strong>Version %1$s</strong> addressed %2$s bug.',
       
   116 						'<strong>Version %1$s</strong> addressed %2$s bugs.',
       
   117 						1
       
   118 					),
       
   119 					'4.9.4',
       
   120 					number_format_i18n( 1 )
       
   121 				);
       
   122 				?>
       
   123 				<?php
       
   124 				/* translators: %s: Codex URL */
       
   125 				printf( __( 'For more information, see <a href="%s">the release notes</a>.' ), 'https://codex.wordpress.org/Version_4.9.4' );
       
   126 				?>
       
   127 			</p>
       
   128 			<p>
       
   129 				<?php
       
   130 				printf(
       
   131 					/* translators: 1: WordPress version number, 2: plural number of bugs. */
       
   132 					_n(
       
   133 						'<strong>Version %1$s</strong> addressed %2$s bug.',
       
   134 						'<strong>Version %1$s</strong> addressed %2$s bugs.',
       
   135 						34
       
   136 					),
       
   137 					'4.9.3',
       
   138 					number_format_i18n( 34 )
       
   139 				);
       
   140 				?>
       
   141 				<?php
       
   142 				/* translators: %s: Codex URL */
       
   143 				printf( __( 'For more information, see <a href="%s">the release notes</a>.' ), 'https://codex.wordpress.org/Version_4.9.3' );
       
   144 				?>
       
   145 			</p>
       
   146 			<p>
       
   147 				<?php
       
   148 				printf(
       
   149 					/* translators: 1: WordPress version number, 2: plural number of bugs. */
       
   150 					_n(
       
   151 						'<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bug.',
       
   152 						'<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bugs.',
       
   153 						22
       
   154 					),
       
   155 					'4.9.2',
       
   156 					number_format_i18n( 22 )
       
   157 				);
       
   158 				?>
       
   159 				<?php
       
   160 				/* translators: %s: Codex URL */
       
   161 				printf( __( 'For more information, see <a href="%s">the release notes</a>.' ), 'https://codex.wordpress.org/Version_4.9.2' );
       
   162 				?>
       
   163 			</p>
       
   164 			<p>
       
   165 				<?php
       
   166 				printf(
       
   167 					/* translators: 1: WordPress version number, 2: plural number of bugs. */
       
   168 					_n(
       
   169 						'<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bug.',
       
   170 						'<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bugs.',
       
   171 						11
       
   172 					),
       
   173 					'4.9.1',
       
   174 					number_format_i18n( 11 )
       
   175 				);
       
   176 				?>
       
   177 				<?php
       
   178 				/* translators: %s: Codex URL */
       
   179 				printf( __( 'For more information, see <a href="%s">the release notes</a>.' ), 'https://codex.wordpress.org/Version_4.9.1' );
       
   180 				?>
       
   181 			</p>
       
   182 		</div>
       
   183 
       
   184 		<div class="feature-section one-col">
       
   185 			<div class="col">
       
   186 				<h2>
       
   187 					<?php
   144 					<?php
       
   145 					printf(
       
   146 						/* translators: 1: link to the WordPress 5.1 release post */
       
   147 						__( 'Building on <a href="%1$s">the Site Health features introduced in 5.1</a>, this release adds two new pages to help debug common configuration issues. It also adds space where developers can include debugging information for site maintainers.' ),
       
   148 						__( 'https://wordpress.org/news/2019/02/betty/' )
       
   149 					);
       
   150 
       
   151 					if ( current_user_can( 'install_plugins' ) ) {
   188 						printf(
   152 						printf(
   189 							/* translators: %s: party popper emoji */
   153 							/* translators: 1: link to /wp-admin/site-health.php 2: link to /wp-admin/site-health.php?tab=debug */
   190 							__( 'Major Customizer Improvements, Code Error Checking, and More! %s' ),
   154 							__( ' <a href="%1$s">Check your site status</a>, and <a href="%2$s">learn how to debug issues</a>.' ),
   191 							'&#x1F389'
   155 							admin_url( 'site-health.php' ),
       
   156 							admin_url( 'site-health.php?tab=debug' )
   192 						);
   157 						);
       
   158 					}
   193 					?>
   159 					?>
   194 				</h2>
   160 				</p>
   195 				<p><?php _e( 'Welcome to an improved Customizer workflow with design drafts, locking, scheduling, and preview links. What&#8217;s more, code syntax highlighting and error checking will make for a clean and smooth site building experience. Finally, if all that wasn&#8217;t pretty great, we&#8217;ve got a great new Gallery widget and improvements to theme browsing and switching.' ); ?></p>
   161 			</div>
   196 			</div>
   162 			<div class="column">
   197 		</div>
   163 				<div class="inline-svg aligncenter">
   198 
   164 					<img src="https://s.w.org/images/core/5.2/about_site-health.svg" alt="">
   199 		<div class="inline-svg full-width">
       
   200 			<picture>
       
   201 				<source media="(max-width: 500px)" srcset="<?php echo 'https://s.w.org/images/core/4.9/banner-mobile.svg'; ?>">
       
   202 				<img src="https://s.w.org/images/core/4.9/banner.svg" alt="">
       
   203 			</picture>
       
   204 		</div>
       
   205 
       
   206 		<div class="floating-header-section">
       
   207 			<div class="section-header">
       
   208 				<h2><?php _e( 'Customizer Workflow Improved' ); ?></h2>
       
   209 			</div>
       
   210 
       
   211 			<div class="section-content">
       
   212 				<div class="section-item">
       
   213 					<div class="inline-svg">
       
   214 						<img src="https://s.w.org/images/core/4.9/draft-and-schedule.svg" alt="">
       
   215 					</div>
       
   216 					<h3><?php _e( 'Draft and Schedule Site Design Customizations' ); ?></h3>
       
   217 					<p><?php _e( 'Yes, you read that right. Just like you can draft and revise posts and schedule them to go live on the date and time you choose, you can now tinker with your site&#8217;s design and schedule those design changes to go live as you please.' ); ?></p>
       
   218 				</div>
   165 				</div>
   219 				<div class="section-item">
   166 			</div>
   220 					<div class="inline-svg">
   167 		</div>
   221 						<img src="https://s.w.org/images/core/4.9/design-preview-links.svg" alt="">
   168 
   222 					</div>
   169 		<hr />
   223 					<h3><?php _e( 'Collaborate with Design Preview Links' ); ?></h3>
   170 
   224 					<p><?php _e( 'Need to get some feedback on proposed site design changes? WordPress 4.9 gives you a preview link you can send to your team and customers so that you can collect and integrate feedback before you schedule the changes to go live. Can we say collaboration&#43;&#43;?' ); ?></p>
   171 		<div class="feature-section is-wide has-2-columns is-wider-right">
       
   172 			<div class="column">
       
   173 				<div class="inline-svg aligncenter">
       
   174 					<img src="https://s.w.org/images/core/5.2/about_error-protection.svg" alt="">
   225 				</div>
   175 				</div>
   226 				<div class="section-item">
   176 			</div>
   227 					<div class="inline-svg">
   177 			<div class="column is-vertically-aligned-center">
   228 						<img src="https://s.w.org/images/core/4.9/locking.svg" alt="">
   178 				<h3><?php _e( 'PHP Error Protection' ); ?></h3>
   229 					</div>
   179 				<p><?php _e( 'This administrator-focused update will let you safely fix or manage fatal errors without requiring a developer. It features better handling of the so-called “white screen of death”, and a way to enter recovery mode, which pauses error-causing plugins or themes.' ); ?></p>
   230 					<h3><?php _e( 'Design Locking To Guard Your Changes' ); ?></h3>
   180 			</div>
   231 					<p><?php _e( 'Ever encounter a scenario where two designers walk into a project and designer A overrides designer B&#8217;s beautiful changes? WordPress 4.9&#8217;s design lock feature (similar to post locking) secures your draft design so that no one can make changes to it or erase all your hard work.' );?></p>
   181 		</div>
   232 				</div>
   182 
   233 				<div class="section-item">
   183 		<hr />
   234 					<div class="inline-svg">
   184 
   235 						<img src="https://s.w.org/images/core/4.9/prompt.svg" alt="">
   185 		<h3 class="aligncenter"><?php _e( 'Improvements for Everyone' ); ?></h3>
   236 					</div>
   186 
   237 					<h3><?php _e( 'A Prompt to Protect Your Work' ); ?></h3>
   187 		<div class="has-2-columns">
   238 					<p><?php _e( 'Were you lured away from your desk before you saved your new draft design? Fear not, when you return, WordPress 4.9 will politely ask whether or not you&#8217;d like to save your unsaved changes.' ); ?></p>
   188 			<div class="column aligncenter">
   239 				</div>
   189 				<h4><?php _e( 'Accessibility Updates' ); ?></h4>
   240 			</div>
   190 				<p><?php _e( 'A number of changes work together to improve contextual awareness and keyboard navigation flow for those using screen readers and other assistive technologies.' ); ?></p>
   241 		</div>
   191 			</div>
   242 
   192 			<div class="column aligncenter">
   243 		<div class="floating-header-section">
   193 				<h4><?php _e( 'New Dashboard Icons' ); ?></h4>
   244 			<div class="section-header">
   194 				<p><?php _e( 'Thirteen new icons include Instagram, a suite of icons for BuddyPress, and rotated Earth icons for global inclusion. Find them in the Dashboard and have some fun!' ); ?></p>
   245 				<h2><?php _e( 'Coding Enhancements' ); ?></h2>
   195 			</div>
   246 			</div>
   196 		</div>
   247 
   197 
   248 			<div class="section-content">
   198 		<hr />
   249 				<div class="section-item">
   199 
   250 					<div class="inline-svg">
   200 		<h3 class="aligncenter"><?php _e( 'Developer Happiness' ); ?></h3>
   251 						<img src="https://s.w.org/images/core/4.9/syntax-highlighting.svg" alt="">
   201 
   252 					</div>
   202 		<div class="has-2-columns is-fullwidth">
   253 					<h3><?php _e( 'Syntax Highlighting and Error Checking? Yes, Please!' ); ?></h3>
   203 			<div class="column">
   254 					<p><?php _e( 'You&#8217;ve got a display problem but can&#8217;t quite figure out exactly what went wrong in the CSS you lovingly wrote. With syntax highlighting and error checking for CSS editing and the Custom HTML widget introduced in WordPress 4.8.1, you&#8217;ll pinpoint coding errors quickly. Practically guaranteed to help you scan code more easily and suss out and fix code errors quickly.' ); ?></p>
   204 				<h4><a href="https://make.wordpress.org/core/2019/03/26/coding-standards-updates-for-php-5-6/"><?php _e( 'PHP Version Bump' ); ?></a></h4>
   255 				</div>
   205 				<p><?php _e( 'The minimum supported PHP version is now 5.6.20. As of WordPress 5.2, themes and plugins can safely take advantage of namespaces, anonymous functions, and more!' ); ?></p>
   256 				<div class="section-item">
   206 			</div>
   257 					<div class="inline-svg">
   207 			<div class="column">
   258 						<img src="https://s.w.org/images/core/4.9/sandbox.svg" alt="">
   208 				<h4><a href="https://make.wordpress.org/core/2019/04/24/developer-focused-privacy-updates-in-5-2/"><?php _e( 'Privacy Updates' ); ?></a></h4>
   259 					</div>
   209 				<p><?php _e( 'A new theme page template, a conditional function, and two CSS classes make designing and customizing the Privacy Policy page easier.' ); ?></p>
   260 					<h3><?php _e( 'Sandbox for Safety' ); ?></h3>
   210 			</div>
   261 					<p><?php _e( 'The dreaded white screen. You&#8217;ll avoid it when working on themes and plugin code because WordPress 4.9 will warn you about saving an error. You&#8217;ll sleep better at night.' ); ?></p>
   211 		</div>
   262 				</div>
   212 		<div class="has-2-columns is-fullwidth">
   263 				<div class="section-item">
   213 			<div class="column">
   264 					<div class="inline-svg">
   214 				<h4><a href="https://make.wordpress.org/core/2019/04/24/miscellaneous-developer-updates-in-5-2/"><?php _e( 'New Body Tag Hook' ); ?></a></h4>
   265 						<img src="https://s.w.org/images/core/4.9/warning.svg" alt="">
   215 				<p>
   266 					</div>
   216 					<?php
   267 					<h3><?php _e( 'Warning: Potential Danger Ahead!' ); ?></h3>
       
   268 					<p><?php _e( 'When you edit themes and plugins directly, WordPress 4.9 will politely warn you that this is a dangerous practice. It will recommend that you backup your files before saving, so they don&#8217;t get overwritten by the next update. Take the safe route: your future self will thank you. Your team and customers will thank you.' );?></p>
       
   269 				</div>
       
   270 			</div>
       
   271 		</div>
       
   272 
       
   273 		<div class="floating-header-section">
       
   274 			<div class="section-header">
       
   275 				<h2><?php _e( 'Even More Widget Updates' ); ?></h2>
       
   276 			</div>
       
   277 
       
   278 			<div class="section-content">
       
   279 				<div class="section-item">
       
   280 					<div class="inline-svg">
       
   281 						<img src="https://s.w.org/images/core/4.9/gallery-widget.svg" alt="">
       
   282 					</div>
       
   283 					<h3><?php _e( 'The New Gallery Widget' ); ?></h3>
       
   284 					<p><?php _e( 'An incremental improvement to the media changes hatched in WordPress 4.8, you can now add a gallery via widget. Yes!' ); ?></p>
       
   285 				</div>
       
   286 				<div class="section-item">
       
   287 					<div class="inline-svg">
       
   288 						<img src="https://s.w.org/images/core/4.9/media-button.svg" alt="">
       
   289 					</div>
       
   290 					<h3><?php _e( 'Press a Button, Add Media' ); ?></h3>
       
   291 					<p><?php _e( 'Want to add media to your text widget? Embed images, video, and audio directly into the widget along with your text, with our simple but useful Add Media button. Woo!' ); ?></p>
       
   292 				</div>
       
   293 			</div>
       
   294 		</div>
       
   295 
       
   296 		<div class="floating-header-section">
       
   297 			<div class="section-header">
       
   298 				<h2><?php _e( 'Site Building Improvements' ); ?></h2>
       
   299 			</div>
       
   300 
       
   301 			<div class="section-content">
       
   302 				<div class="section-item">
       
   303 					<div class="inline-svg">
       
   304 						<img src="https://s.w.org/images/core/4.9/theme-switching.svg" alt="">
       
   305 					</div>
       
   306 					<h3><?php _e( 'More Reliable Theme Switching' ); ?></h3>
       
   307 					<p><?php _e( 'When you switch themes, widgets sometimes think they can just up and move location. Improvements in WordPress 4.9 offer more persistent menu and widget placement when you decide it&#8217;s time for a new theme. Additionally, you can preview installed themes or download, install, and preview new themes right. Nothing says handy like being able to preview before you deploy. ' ); ?></p>
       
   308 				</div>
       
   309 				<div class="section-item">
       
   310 					<div class="inline-svg">
       
   311 						<img src="https://s.w.org/images/core/4.9/menu-flow.svg" alt="">
       
   312 					</div>
       
   313 					<h3><?php _e( 'Better Menu Instructions = Less Confusion' ); ?></h3>
       
   314 					<p><?php _e( 'Were you confused by the steps to create a new menu? Perhaps no longer! We&#8217;ve ironed out the UX for a smoother menu creation process. Newly updated copy will guide you.' ); ?></p>
       
   315 				</div>
       
   316 			</div>
       
   317 		</div>
       
   318 
       
   319 		<div class="inline-svg">
       
   320 			<picture>
       
   321 				<source media="(max-width: 500px)" srcset="<?php echo 'https://s.w.org/images/core/4.9/gutenberg-mobile.svg'; ?>">
       
   322 				<img src="https://s.w.org/images/core/4.9/gutenberg.svg" alt="">
       
   323 			</picture>
       
   324 		</div>
       
   325 
       
   326 		<div class="feature-section">
       
   327 			<h2>
       
   328 				<?php
       
   329 					printf(
   217 					printf(
   330 						/* translators: %s: handshake emoji */
   218 						/* translators: 1: wp_body_open 2: <body> */
   331 						__( 'Lend a Hand with Gutenberg %s' ),
   219 						__( '5.2 introduces a %1$s hook, which lets themes support injecting code right at the beginning of the %2$s element.' ),
   332 						'&#x1F91D'
   220 						'<code>wp_body_open</code>',
       
   221 						'<code>&lt;body&gt;</code>'
   333 					);
   222 					);
   334 				?>
   223 					?>
   335 			</h2>
   224 				</p>
   336 			<p><?php printf(
   225 			</div>
   337 				__( 'WordPress is working on a new way to create and control your content and we&#8217;d love to have your help. Interested in being an <a href="%s">early tester</a> or getting involved with the Gutenberg project? <a href="%s">Contribute on GitHub</a>.' ),
   226 			<div class="column">
   338 				__( 'https://wordpress.org/plugins/gutenberg/' ),
   227 				<h4><a href="https://make.wordpress.org/core/2019/03/25/building-javascript/"><?php _e( 'Building JavaScript' ); ?></a></h4>
   339 				'https://github.com/WordPress/gutenberg' ); ?></p>
   228 				<p><?php _e( 'With the addition of webpack and Babel configurations in the @wordpress/scripts package, developers won&#8217;t have to worry about setting up complex build tools to write modern JavaScript.' ); ?></p>
   340 		</div>
       
   341 
       
   342 		<hr />
       
   343 
       
   344 		<div class="changelog">
       
   345 			<h2><?php
       
   346 				printf(
       
   347 					/* translators: %s: smiling face with smiling eyes emoji */
       
   348 					__( 'Developer Happiness %s' ),
       
   349 					'&#x1F60A'
       
   350 				);
       
   351 			?></h2>
       
   352 
       
   353 			<div class="under-the-hood two-col">
       
   354 				<div class="col">
       
   355 					<h3><a href="https://make.wordpress.org/core/2017/11/01/improvements-to-the-customize-js-api-in-4-9/"><?php _e( 'Customizer JS API Improvements' ); ?></a></h3>
       
   356 					<p><?php
       
   357 						printf(
       
   358 							/* translators: %s: https://make.wordpress.org/core/2017/11/01/improvements-to-the-customize-js-api-in-4-9/  */
       
   359 							__( 'We&#8217;ve made numerous improvements to the Customizer JS API in WordPress 4.9, eliminating many pain points and making it just as easy to work with as the PHP API. There are also new base control templates, a date/time control, and section/panel/global notifications to name a few. <a href="%s">Check out the full list.</a>' ),
       
   360 							'https://make.wordpress.org/core/2017/11/01/improvements-to-the-customize-js-api-in-4-9/'
       
   361 						);
       
   362 					?></p>
       
   363 				</div>
       
   364 				<div class="col">
       
   365 					<h3><a href="https://make.wordpress.org/core/2017/10/22/code-editing-improvements-in-wordpress-4-9/"><?php _e( 'CodeMirror available for use in your themes and plugins' ); ?></a></h3>
       
   366 					<p><?php _e( 'We&#8217;ve introduced a new code editing library, CodeMirror, for use within core. Use it to improve any code writing or editing experiences within your plugins, like CSS or JavaScript include fields.' ); ?></p>
       
   367 				</div>
       
   368 				<div class="col">
       
   369 					<h3><a href="https://make.wordpress.org/core/2017/10/30/mediaelement-upgrades-in-wordpress-4-9/"><?php _e( 'MediaElement.js upgraded to 4.2.6' ); ?></a></h3>
       
   370 					<p><?php _e( 'WordPress 4.9 includes an upgraded version of MediaElement.js, which removes dependencies on jQuery, improves accessibility, modernizes the UI, and fixes many bugs.' ); ?></p>
       
   371 				</div>
       
   372 				<div class="col">
       
   373 					<h3><a href="https://make.wordpress.org/core/2017/10/15/improvements-for-roles-and-capabilities-in-4-9/"><?php _e( 'Improvements to Roles and Capabilities' ); ?></a></h3>
       
   374 					<p><?php _e( 'New capabilities have been introduced that allow granular management of plugins and translation files. In addition, the site switching process in multisite has been fine-tuned to update the available roles and capabilities in a more reliable and coherent way.' ); ?></p>
       
   375 				</div>
       
   376 			</div>
   229 			</div>
   377 		</div>
   230 		</div>
   378 
   231 
   379 		<hr />
   232 		<hr />
   380 
   233 
   385 				</a> |
   238 				</a> |
   386 			<?php endif; ?>
   239 			<?php endif; ?>
   387 			<a href="<?php echo esc_url( self_admin_url() ); ?>"><?php is_blog_admin() ? _e( 'Go to Dashboard &rarr; Home' ) : _e( 'Go to Dashboard' ); ?></a>
   240 			<a href="<?php echo esc_url( self_admin_url() ); ?>"><?php is_blog_admin() ? _e( 'Go to Dashboard &rarr; Home' ) : _e( 'Go to Dashboard' ); ?></a>
   388 		</div>
   241 		</div>
   389 	</div>
   242 	</div>
   390 
       
   391 	<script>
       
   392 		(function( $ ) {
       
   393 			$( function() {
       
   394 				var $window = $( window );
       
   395 				var $adminbar = $( '#wpadminbar' );
       
   396 				var $sections = $( '.floating-header-section' );
       
   397 				var offset = 0;
       
   398 
       
   399 				// Account for Admin bar.
       
   400 				if ( $adminbar.length ) {
       
   401 					offset += $adminbar.height();
       
   402 				}
       
   403 
       
   404 				function setup() {
       
   405 					$sections.each( function( i, section ) {
       
   406 						var $section = $( section );
       
   407 						// If the title is long, switch the layout
       
   408 						var $title = $section.find( 'h2' );
       
   409 						if ( $title.innerWidth() > 300 ) {
       
   410 							$section.addClass( 'has-long-title' );
       
   411 						}
       
   412 					} );
       
   413 				}
       
   414 
       
   415 				var adjustScrollPosition = _.throttle( function adjustScrollPosition() {
       
   416 					$sections.each( function( i, section ) {
       
   417 						var $section = $( section );
       
   418 						var $header = $section.find( 'h2' );
       
   419 						var width = $header.innerWidth();
       
   420 						var height = $header.innerHeight();
       
   421 
       
   422 						if ( $section.hasClass( 'has-long-title' ) ) {
       
   423 							return;
       
   424 						}
       
   425 
       
   426 						var sectionStart = $section.offset().top - offset;
       
   427 						var sectionEnd = sectionStart + $section.innerHeight();
       
   428 						var scrollPos = $window.scrollTop();
       
   429 
       
   430 						// If we're scrolled into a section, stick the header
       
   431 						if ( scrollPos >= sectionStart && scrollPos < sectionEnd - height ) {
       
   432 							$header.css( {
       
   433 								position: 'fixed',
       
   434 								top: offset + 'px',
       
   435 								bottom: 'auto',
       
   436 								width: width + 'px'
       
   437 							} );
       
   438 						// If we're at the end of the section, stick the header to the bottom
       
   439 						} else if ( scrollPos >= sectionEnd - height && scrollPos < sectionEnd ) {
       
   440 							$header.css( {
       
   441 								position: 'absolute',
       
   442 								top: 'auto',
       
   443 								bottom: 0,
       
   444 								width: width + 'px'
       
   445 							} );
       
   446 						// Unstick the header
       
   447 						} else {
       
   448 							$header.css( {
       
   449 								position: 'static',
       
   450 								top: 'auto',
       
   451 								bottom: 'auto',
       
   452 								width: 'auto'
       
   453 							} );
       
   454 						}
       
   455 					} );
       
   456 				}, 100 );
       
   457 
       
   458 				function enableFixedHeaders() {
       
   459 					if ( $window.width() > 782 ) {
       
   460 						setup();
       
   461 						adjustScrollPosition();
       
   462 						$window.on( 'scroll', adjustScrollPosition );
       
   463 					} else {
       
   464 						$window.off( 'scroll', adjustScrollPosition );
       
   465 						$sections.find( '.section-header' )
       
   466 							.css( {
       
   467 								width: 'auto'
       
   468 							} );
       
   469 						$sections.find( 'h2' )
       
   470 							.css( {
       
   471 								position: 'static',
       
   472 								top: 'auto',
       
   473 								bottom: 'auto',
       
   474 								width: 'auto'
       
   475 							} );
       
   476 					}
       
   477 				}
       
   478 				$( window ).resize( enableFixedHeaders );
       
   479 				enableFixedHeaders();
       
   480 			} );
       
   481 		})( jQuery );
       
   482 	</script>
       
   483 
       
   484 <?php
   243 <?php
   485 
   244 
   486 include( ABSPATH . 'wp-admin/admin-footer.php' );
   245 include( ABSPATH . 'wp-admin/admin-footer.php' );
   487 
   246 
   488 // These are strings we may use to describe maintenance/security releases, where we aim for no new strings.
   247 // These are strings we may use to describe maintenance/security releases, where we aim for no new strings.
   501 __( '<strong>Version %s</strong> addressed one security issue.' );
   260 __( '<strong>Version %s</strong> addressed one security issue.' );
   502 /* translators: %s: WordPress version number */
   261 /* translators: %s: WordPress version number */
   503 __( '<strong>Version %s</strong> addressed some security issues.' );
   262 __( '<strong>Version %s</strong> addressed some security issues.' );
   504 
   263 
   505 /* translators: 1: WordPress version number, 2: plural number of bugs. */
   264 /* translators: 1: WordPress version number, 2: plural number of bugs. */
   506 _n_noop( '<strong>Version %1$s</strong> addressed %2$s bug.',
   265 _n_noop(
   507          '<strong>Version %1$s</strong> addressed %2$s bugs.' );
   266 	'<strong>Version %1$s</strong> addressed %2$s bug.',
       
   267 	'<strong>Version %1$s</strong> addressed %2$s bugs.'
       
   268 );
   508 
   269 
   509 /* translators: 1: WordPress version number, 2: plural number of bugs. Singular security issue. */
   270 /* translators: 1: WordPress version number, 2: plural number of bugs. Singular security issue. */
   510 _n_noop( '<strong>Version %1$s</strong> addressed a security issue and fixed %2$s bug.',
   271 _n_noop(
   511          '<strong>Version %1$s</strong> addressed a security issue and fixed %2$s bugs.' );
   272 	'<strong>Version %1$s</strong> addressed a security issue and fixed %2$s bug.',
       
   273 	'<strong>Version %1$s</strong> addressed a security issue and fixed %2$s bugs.'
       
   274 );
   512 
   275 
   513 /* translators: 1: WordPress version number, 2: plural number of bugs. More than one security issue. */
   276 /* translators: 1: WordPress version number, 2: plural number of bugs. More than one security issue. */
   514 _n_noop( '<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bug.',
   277 _n_noop(
   515          '<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bugs.' );
   278 	'<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bug.',
       
   279 	'<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bugs.'
       
   280 );
   516 
   281 
   517 /* translators: %s: Codex URL */
   282 /* translators: %s: Codex URL */
   518 __( 'For more information, see <a href="%s">the release notes</a>.' );
   283 __( 'For more information, see <a href="%s">the release notes</a>.' );