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_style( 'wp-mediaelement' ); |
12 wp_enqueue_script( 'underscore' ); |
13 wp_enqueue_script( 'wp-mediaelement' ); |
13 |
14 wp_localize_script( 'mediaelement', '_wpmejsSettings', array( |
14 /* translators: Page title of the About WordPress page in the admin. */ |
15 'pluginPath' => includes_url( 'js/mediaelement/', 'relative' ), |
15 $title = _x( 'About', 'page title' ); |
16 'pauseOtherPlayers' => '' |
16 |
17 ) ); |
17 list( $display_version ) = explode( '-', get_bloginfo( 'version' ) ); |
18 |
|
19 $title = __( 'About' ); |
|
20 |
|
21 list( $display_version ) = explode( '-', $wp_version ); |
|
22 |
18 |
23 include( ABSPATH . 'wp-admin/admin-header.php' ); |
19 include( ABSPATH . 'wp-admin/admin-header.php' ); |
24 ?> |
20 ?> |
25 <div class="wrap about-wrap"> |
21 <div class="wrap about-wrap full-width-layout"> |
26 |
22 <h1><?php printf( __( 'Welcome to WordPress %s' ), $display_version ); ?></h1> |
27 <h1><?php printf( __( 'Welcome to WordPress %s' ), $display_version ); ?></h1> |
23 |
28 |
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> |
29 <div class="about-text"><?php printf( __( 'Thank you for updating! WordPress %s helps you communicate and share, globally.' ), $display_version ); ?></div> |
25 <div class="wp-badge"><?php printf( __( 'Version %s' ), $display_version ); ?></div> |
30 |
26 |
31 <div class="wp-badge"><?php printf( __( 'Version %s' ), $display_version ); ?></div> |
27 <h2 class="nav-tab-wrapper wp-clearfix"> |
32 |
28 <a href="about.php" class="nav-tab nav-tab-active"><?php _e( 'What’s New' ); ?></a> |
33 <h2 class="nav-tab-wrapper"> |
29 <a href="credits.php" class="nav-tab"><?php _e( 'Credits' ); ?></a> |
34 <a href="about.php" class="nav-tab nav-tab-active"> |
30 <a href="freedoms.php" class="nav-tab"><?php _e( 'Freedoms' ); ?></a> |
35 <?php _e( 'What’s New' ); ?> |
31 <a href="freedoms.php?privacy-notice" class="nav-tab"><?php _e( 'Privacy' ); ?></a> |
36 </a><a href="credits.php" class="nav-tab"> |
32 </h2> |
37 <?php _e( 'Credits' ); ?> |
33 |
38 </a><a href="freedoms.php" class="nav-tab"> |
34 <div class="changelog point-releases"> |
39 <?php _e( 'Freedoms' ); ?> |
35 <h3><?php _e( 'Maintenance and Security Releases' ); ?></h3> |
40 </a> |
36 <p> |
41 </h2> |
37 <?php |
42 |
38 printf( |
43 <div class="changelog point-releases"> |
39 /* translators: 1: WordPress version number, 2: plural number of bugs. */ |
44 <h3><?php echo _n( 'Maintenance and Security Release', 'Maintenance and Security Releases', 2 ); ?></h3> |
40 _n( |
45 <p><?php printf( _n( '<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bug.', |
41 '<strong>Version %1$s</strong> addressed %2$s bug.', |
46 '<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bugs.', 13 ), '4.2.2', number_format_i18n( 13 ) ); ?> |
42 '<strong>Version %1$s</strong> addressed %2$s bugs.', |
47 <?php printf( __( 'For more information, see <a href="%s">the release notes</a>.' ), 'http://codex.wordpress.org/Version_4.2.2' ); ?> |
43 46 |
48 </p> |
44 ), |
49 <p><?php printf( _n( '<strong>Version %1$s</strong> addressed a security issue.', |
45 '4.9.8', |
50 '<strong>Version %1$s</strong> addressed some security issues.', 1 ), '4.2.1' ); ?> |
46 number_format_i18n( 46 ) |
51 <?php printf( __( 'For more information, see <a href="%s">the release notes</a>.' ), 'http://codex.wordpress.org/Version_4.2.1' ); ?> |
47 ); |
52 </p> |
48 |
53 </div> |
49 printf( |
54 |
50 /* translators: %s: Codex URL */ |
55 <div class="headline-feature feature-video"> |
51 __( 'For more information, see <a href="%s">the release notes</a>.' ), |
56 <embed type="application/x-shockwave-flash" src="https://v0.wordpress.com/player.swf?v=1.04" width="1000" height="560" wmode="direct" seamlesstabbing="true" allowfullscreen="true" allowscriptaccess="always" overstretch="true" flashvars="guid=e9kH4FzP&isDynamicSeeking=true"></embed> |
52 'https://codex.wordpress.org/Version_4.9.8' |
57 </div> |
53 ); |
58 |
54 ?> |
59 <hr /> |
55 </p> |
60 |
56 <p> |
61 <div class="feature-section two-col"> |
57 <?php |
62 <div class="col"> |
58 printf( |
63 <h3><?php _e( 'An easier way to share content' ); ?></h3> |
59 /* translators: 1: WordPress version number, 2: plural number of bugs. */ |
64 <p><?php printf( __( 'Clip it, edit it, publish it. Get familiar with the new and improved Press This. From the <a href="%s">Tools</a> menu, add Press This to your browser bookmark bar or your mobile device home screen. Once installed you can share your content with lightning speed. Sharing your favorite videos, images, and content has never been this fast or this easy.' ), admin_url( 'tools.php' ) ); ?></p> |
60 _n( |
65 <p><?php _e( 'Drag the bookmarklet below to your bookmarks bar. Then, when you’re on a page you want to share, simply “press” it.' ); ?></p> |
61 '<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bug.', |
66 |
62 '<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bugs.', |
67 <p class="pressthis-bookmarklet-demo"> |
63 17 |
68 <a class="pressthis-bookmarklet" onclick="return false;" href="<?php echo htmlspecialchars( get_shortcut_link() ); ?>"><span><?php _e( 'Press This' ); ?></span></a> |
64 ), |
69 </p> |
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 ?> |
|
73 </p> |
|
74 <p> |
|
75 <?php |
|
76 printf( |
|
77 /* translators: 1: WordPress version number, 2: plural number of bugs. */ |
|
78 _n( |
|
79 '<strong>Version %1$s</strong> addressed %2$s bug.', |
|
80 '<strong>Version %1$s</strong> addressed %2$s bugs.', |
|
81 18 |
|
82 ), |
|
83 '4.9.6', |
|
84 number_format_i18n( 18 ) |
|
85 ); |
|
86 ?> |
|
87 <?php |
|
88 /* translators: %s: Codex URL */ |
|
89 printf( __( 'For more information, see <a href="%s">the release notes</a>.' ), 'https://codex.wordpress.org/Version_4.9.6' ); |
|
90 ?> |
|
91 </p> |
|
92 <p> |
|
93 <?php |
|
94 printf( |
|
95 /* translators: 1: WordPress version number, 2: plural number of bugs. */ |
|
96 _n( |
|
97 '<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bug.', |
|
98 '<strong>Version %1$s</strong> addressed some security issues and fixed %2$s bugs.', |
|
99 28 |
|
100 ), |
|
101 '4.9.5', |
|
102 number_format_i18n( 28 ) |
|
103 ); |
|
104 ?> |
|
105 <?php |
|
106 /* translators: %s: Codex URL */ |
|
107 printf( __( 'For more information, see <a href="%s">the release notes</a>.' ), 'https://codex.wordpress.org/Version_4.9.5' ); |
|
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 |
|
188 printf( |
|
189 /* translators: %s: party popper emoji */ |
|
190 __( 'Major Customizer Improvements, Code Error Checking, and More! %s' ), |
|
191 '🎉' |
|
192 ); |
|
193 ?> |
|
194 </h2> |
|
195 <p><?php _e( 'Welcome to an improved Customizer workflow with design drafts, locking, scheduling, and preview links. What’s more, code syntax highlighting and error checking will make for a clean and smooth site building experience. Finally, if all that wasn’t pretty great, we’ve got a great new Gallery widget and improvements to theme browsing and switching.' ); ?></p> |
|
196 </div> |
|
197 </div> |
|
198 |
|
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’s design and schedule those design changes to go live as you please.' ); ?></p> |
|
218 </div> |
|
219 <div class="section-item"> |
|
220 <div class="inline-svg"> |
|
221 <img src="https://s.w.org/images/core/4.9/design-preview-links.svg" alt=""> |
|
222 </div> |
|
223 <h3><?php _e( 'Collaborate with Design Preview Links' ); ?></h3> |
|
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++?' ); ?></p> |
|
225 </div> |
|
226 <div class="section-item"> |
|
227 <div class="inline-svg"> |
|
228 <img src="https://s.w.org/images/core/4.9/locking.svg" alt=""> |
|
229 </div> |
|
230 <h3><?php _e( 'Design Locking To Guard Your Changes' ); ?></h3> |
|
231 <p><?php _e( 'Ever encounter a scenario where two designers walk into a project and designer A overrides designer B’s beautiful changes? WordPress 4.9’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> |
|
232 </div> |
|
233 <div class="section-item"> |
|
234 <div class="inline-svg"> |
|
235 <img src="https://s.w.org/images/core/4.9/prompt.svg" alt=""> |
|
236 </div> |
|
237 <h3><?php _e( 'A Prompt to Protect Your Work' ); ?></h3> |
|
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’d like to save your unsaved changes.' ); ?></p> |
|
239 </div> |
|
240 </div> |
|
241 </div> |
|
242 |
|
243 <div class="floating-header-section"> |
|
244 <div class="section-header"> |
|
245 <h2><?php _e( 'Coding Enhancements' ); ?></h2> |
|
246 </div> |
|
247 |
|
248 <div class="section-content"> |
|
249 <div class="section-item"> |
|
250 <div class="inline-svg"> |
|
251 <img src="https://s.w.org/images/core/4.9/syntax-highlighting.svg" alt=""> |
|
252 </div> |
|
253 <h3><?php _e( 'Syntax Highlighting and Error Checking? Yes, Please!' ); ?></h3> |
|
254 <p><?php _e( 'You’ve got a display problem but can’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’ll pinpoint coding errors quickly. Practically guaranteed to help you scan code more easily and suss out and fix code errors quickly.' ); ?></p> |
|
255 </div> |
|
256 <div class="section-item"> |
|
257 <div class="inline-svg"> |
|
258 <img src="https://s.w.org/images/core/4.9/sandbox.svg" alt=""> |
|
259 </div> |
|
260 <h3><?php _e( 'Sandbox for Safety' ); ?></h3> |
|
261 <p><?php _e( 'The dreaded white screen. You’ll avoid it when working on themes and plugin code because WordPress 4.9 will warn you about saving an error. You’ll sleep better at night.' ); ?></p> |
|
262 </div> |
|
263 <div class="section-item"> |
|
264 <div class="inline-svg"> |
|
265 <img src="https://s.w.org/images/core/4.9/warning.svg" alt=""> |
|
266 </div> |
|
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’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’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’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( |
|
330 /* translators: %s: handshake emoji */ |
|
331 __( 'Lend a Hand with Gutenberg %s' ), |
|
332 '🤝' |
|
333 ); |
|
334 ?> |
|
335 </h2> |
|
336 <p><?php printf( |
|
337 __( 'WordPress is working on a new way to create and control your content and we’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>.' ), |
|
338 __( 'https://wordpress.org/plugins/gutenberg/' ), |
|
339 'https://github.com/WordPress/gutenberg' ); ?></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 '😊' |
|
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’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’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> |
|
377 </div> |
|
378 |
|
379 <hr /> |
|
380 |
|
381 <div class="return-to-dashboard"> |
|
382 <?php if ( current_user_can( 'update_core' ) && isset( $_GET['updated'] ) ) : ?> |
|
383 <a href="<?php echo esc_url( self_admin_url( 'update-core.php' ) ); ?>"> |
|
384 <?php is_multisite() ? _e( 'Return to Updates' ) : _e( 'Return to Dashboard → Updates' ); ?> |
|
385 </a> | |
|
386 <?php endif; ?> |
|
387 <a href="<?php echo esc_url( self_admin_url() ); ?>"><?php is_blog_admin() ? _e( 'Go to Dashboard → Home' ) : _e( 'Go to Dashboard' ); ?></a> |
|
388 </div> |
70 </div> |
389 </div> |
71 |
390 |
72 <div class="col"> |
391 <script> |
73 <img src="//s.w.org/images/core/4.2/press-this.jpg" /> |
392 (function( $ ) { |
74 </div> |
393 $( function() { |
75 </div> |
394 var $window = $( window ); |
76 |
395 var $adminbar = $( '#wpadminbar' ); |
77 <div class="feature-section two-col"> |
396 var $sections = $( '.floating-header-section' ); |
78 <div class="col"> |
397 var offset = 0; |
79 <img src="//s.w.org/images/core/4.2/unicode.png" /> |
398 |
80 </div> |
399 // Account for Admin bar. |
81 <div class="col"> |
400 if ( $adminbar.length ) { |
82 <h3><?php _e( 'Extended character support' ); ?></h3> |
401 offset += $adminbar.height(); |
83 <p><?php _e( 'Writing in WordPress, whatever your language, just got better. WordPress 4.2 supports a host of new characters out-of-the-box, including native Chinese, Japanese, and Korean characters, musical and mathematical symbols, and hieroglyphs.' ); ?></p> |
402 } |
84 <p><?php |
403 |
85 /* translators: 1: heart emoji, 2: frog face emoji, 3, monkey emoji, 4: pizza emoji, 5: Emoji Codex link */ |
404 function setup() { |
86 printf( __( 'Don’t use any of those characters? You can still have fun — emoji are now available in WordPress! Get creative and decorate your content with %1$s, %2$s, %3$s, %4$s, and all the many other <a href="%5$s">emoji</a>.' ), '💙', '🐸', '🐒', '🍕', __( 'https://codex.wordpress.org/Emoji' ) ); |
405 $sections.each( function( i, section ) { |
87 ?></p> |
406 var $section = $( section ); |
88 </div> |
407 // If the title is long, switch the layout |
89 </div> |
408 var $title = $section.find( 'h2' ); |
90 |
409 if ( $title.innerWidth() > 300 ) { |
91 <div class="changelog feature-section three-col"> |
410 $section.addClass( 'has-long-title' ); |
92 <div> |
411 } |
93 <img src="//s.w.org/images/core/4.2/theme-switcher.png" /> |
412 } ); |
94 <h3><?php _e( 'Switch themes in the Customizer' ); ?></h3> |
413 } |
95 <p><?php _e( 'Browse and preview your installed themes from the Customizer. Make sure the theme looks great with <em>your</em> content, before it debuts on your site. ' ); ?></p> |
414 |
96 </div> |
415 var adjustScrollPosition = _.throttle( function adjustScrollPosition() { |
97 <div> |
416 $sections.each( function( i, section ) { |
98 <img src="//s.w.org/images/core/4.2/embeds.png" /> |
417 var $section = $( section ); |
99 <h3><?php _e( 'Even more embeds' ); ?></h3> |
418 var $header = $section.find( 'h2' ); |
100 <p><?php _e( 'Paste links from Tumblr.com and Kickstarter and watch them magically appear right in the editor. With every release, your publishing and editing experience get closer together.' ); ?></p> |
419 var width = $header.innerWidth(); |
101 </div> |
420 var height = $header.innerHeight(); |
102 <div class="last-feature"> |
421 |
103 <img src="//s.w.org/images/core/4.2/plugins.png" /> |
422 if ( $section.hasClass( 'has-long-title' ) ) { |
104 <h3><?php _e( 'Streamlined plugin updates' ); ?></h3> |
423 return; |
105 <p><?php _e( 'Goodbye boring loading screen, hello smooth and simple plugin updates. Click <em>Update Now</em> and watch the magic happen.' ); ?></p> |
424 } |
106 </div> |
425 |
107 </div> |
426 var sectionStart = $section.offset().top - offset; |
108 |
427 var sectionEnd = sectionStart + $section.innerHeight(); |
109 <div class="changelog under-the-hood feature-list"> |
428 var scrollPos = $window.scrollTop(); |
110 <h3><?php _e( 'Under the Hood' ); ?></h3> |
429 |
111 |
430 // If we're scrolled into a section, stick the header |
112 <div class="feature-section col two-col"> |
431 if ( scrollPos >= sectionStart && scrollPos < sectionEnd - height ) { |
113 <div> |
432 $header.css( { |
114 <h4><?php _e( 'utf8mb4 support' ); ?></h4> |
433 position: 'fixed', |
115 <p><?php _e( 'Database character encoding has changed from utf8 to utf8mb4, which adds support for a whole range of new 4-byte characters.' ); ?></p> |
434 top: offset + 'px', |
116 |
435 bottom: 'auto', |
117 <h4><?php _e( 'JavaScript accessibility' ); ?></h4> |
436 width: width + 'px' |
118 <p><?php |
437 } ); |
119 /* translators: %s wp.a11y.speak() */ |
438 // If we're at the end of the section, stick the header to the bottom |
120 printf( __( 'You can now send audible notifications to screen readers in JavaScript with %s. Pass it a string, and an update will be sent to a dedicated ARIA live notifications area.' ), '<code>wp.a11y.speak()</code>' ); |
439 } else if ( scrollPos >= sectionEnd - height && scrollPos < sectionEnd ) { |
121 ?></p> |
440 $header.css( { |
122 </div> |
441 position: 'absolute', |
123 <div class="last-feature"> |
442 top: 'auto', |
124 <h4><?php _e( 'Shared term splitting' ); ?></h4> |
443 bottom: 0, |
125 <p><?php |
444 width: width + 'px' |
126 /* translators: 1: Term splitting guide link */ |
445 } ); |
127 printf( __( 'Terms shared across multiple taxonomies will be split when one of them is updated. Find out more in the <a href="%1$s">Plugin Developer Handbook</a>.' ), 'https://developer.wordpress.org/plugins/taxonomy/working-with-split-terms-in-wp-4-2/' ); |
446 // Unstick the header |
128 ?></p> |
447 } else { |
129 |
448 $header.css( { |
130 <h4><?php _e( 'Complex query ordering' ); ?></h4> |
449 position: 'static', |
131 <p><?php |
450 top: 'auto', |
132 /* translators: 1: WP_Query, 2: WP_Comment_Query, 3: WP_User_Query */ |
451 bottom: 'auto', |
133 printf( __( '%1$s, %2$s, and %3$s now support complex ordering with named meta query clauses.' ), '<code>WP_Query</code>', '<code>WP_Comment_Query</code>', '<code>WP_User_Query</code>' ); |
452 width: 'auto' |
134 ?></p> |
453 } ); |
135 </div> |
454 } |
136 |
455 } ); |
137 <hr /> |
456 }, 100 ); |
138 |
457 |
139 <div class="return-to-dashboard"> |
458 function enableFixedHeaders() { |
140 <?php if ( current_user_can( 'update_core' ) && isset( $_GET['updated'] ) ) : ?> |
459 if ( $window.width() > 782 ) { |
141 <a href="<?php echo esc_url( self_admin_url( 'update-core.php' ) ); ?>"><?php |
460 setup(); |
142 is_multisite() ? _e( 'Return to Updates' ) : _e( 'Return to Dashboard → Updates' ); |
461 adjustScrollPosition(); |
143 ?></a> | |
462 $window.on( 'scroll', adjustScrollPosition ); |
144 <?php endif; ?> |
463 } else { |
145 <a href="<?php echo esc_url( self_admin_url() ); ?>"><?php |
464 $window.off( 'scroll', adjustScrollPosition ); |
146 is_blog_admin() ? _e( 'Go to Dashboard → Home' ) : _e( 'Go to Dashboard' ); ?></a> |
465 $sections.find( '.section-header' ) |
147 </div> |
466 .css( { |
148 </div> |
467 width: 'auto' |
149 |
468 } ); |
150 </div> |
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 |
151 <?php |
484 <?php |
152 |
485 |
153 include( ABSPATH . 'wp-admin/admin-footer.php' ); |
486 include( ABSPATH . 'wp-admin/admin-footer.php' ); |
154 |
487 |
155 // These are strings we may use to describe maintenance/security releases, where we aim for no new strings. |
488 // These are strings we may use to describe maintenance/security releases, where we aim for no new strings. |
156 return; |
489 return; |
157 |
490 |
158 _n_noop( 'Maintenance Release', 'Maintenance Releases' ); |
491 __( 'Maintenance Release' ); |
159 _n_noop( 'Security Release', 'Security Releases' ); |
492 __( 'Maintenance Releases' ); |
160 _n_noop( 'Maintenance and Security Release', 'Maintenance and Security Releases' ); |
493 |
161 |
494 __( 'Security Release' ); |
162 /* translators: 1: WordPress version number. */ |
495 __( 'Security Releases' ); |
163 _n_noop( '<strong>Version %1$s</strong> addressed a security issue.', |
496 |
164 '<strong>Version %1$s</strong> addressed some security issues.' ); |
497 __( 'Maintenance and Security Release' ); |
|
498 __( 'Maintenance and Security Releases' ); |
|
499 |
|
500 /* translators: %s: WordPress version number */ |
|
501 __( '<strong>Version %s</strong> addressed one security issue.' ); |
|
502 /* translators: %s: WordPress version number */ |
|
503 __( '<strong>Version %s</strong> addressed some security issues.' ); |
165 |
504 |
166 /* translators: 1: WordPress version number, 2: plural number of bugs. */ |
505 /* translators: 1: WordPress version number, 2: plural number of bugs. */ |
167 _n_noop( '<strong>Version %1$s</strong> addressed %2$s bug.', |
506 _n_noop( '<strong>Version %1$s</strong> addressed %2$s bug.', |
168 '<strong>Version %1$s</strong> addressed %2$s bugs.' ); |
507 '<strong>Version %1$s</strong> addressed %2$s bugs.' ); |
169 |
508 |