Commit Graph

225 Commits

Author SHA1 Message Date
Felix Arntz
3a77265148 Bootstrap/Load: Introduce a recovery mode for fixing fatal errors.
Using the new fatal handler introduced in [44962], an email is sent to the admin when a fatal error occurs. This email includes a secret link to enter recovery mode. When clicked, the link will be validated and on success a cookie will be placed on the client, enabling recovery mode for that user. This functionality is executed early before plugins and themes are loaded, in order to be unaffected by potential fatal errors these might be causing.

When in recovery mode, broken plugins and themes will be paused for that client, so that they are able to access the admin backend despite of these errors. They are notified about the broken extensions and the errors caused, and can then decide whether they would like to temporarily deactivate the extension or fix the problem and resume the extension.

A link in the admin bar allows the client to exit recovery mode.

Props timothyblynjacobs, afragen, flixos90, nerrad, miss_jwo, schlessera, spacedmonkey, swissspidy.
Fixes #46130, #44458.

Built from https://develop.svn.wordpress.org/trunk@44973


git-svn-id: http://core.svn.wordpress.org/trunk@44804 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-03-21 21:53:51 +00:00
Felix Arntz
92c3c46abe Bootstrap/Load: Revert fatal error recovery mechanism from 5.1 to polish for 5.2.
Due to the high number of follow-up tickets and associated security concerns, it was decided to reschedule the fatal error recovery feature for WordPress 5.2, in order to address these issues properly. The feature will continue to be developed, with iterations being merged into trunk early in the 5.2 release cycle.

Fixes #46141. See #44458, #45932, #45940, #46038, #46047, #46068.

Built from https://develop.svn.wordpress.org/trunk@44717


git-svn-id: http://core.svn.wordpress.org/trunk@44548 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-01-30 11:01:52 +00:00
Dominik Schilling
1c0849c2b2 I18N: Remove JSON translations when deleting a theme or a plugin.
See #29860.
Fixes #45467.
Built from https://develop.svn.wordpress.org/trunk@44675


git-svn-id: http://core.svn.wordpress.org/trunk@44506 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-01-21 20:41:50 +00:00
Gary Pendergast
6ef9017c96 Docs: Add missing periods to a grab-bag of docblocks.
Props Hitendra Chopda.
Fixes #45409.


Built from https://develop.svn.wordpress.org/trunk@44643


git-svn-id: http://core.svn.wordpress.org/trunk@44474 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-01-18 01:03:50 +00:00
Felix Arntz
1e4088fc98 Bootstrap/Load: Introduce fatal error recovery mechanism allowing users to still log in to their admin dashboard.
This changeset introduces a `WP_Shutdown_Handler` class that detects fatal errors and which extension (plugin or theme) causes them. Such an error is then recorded, and an error message is displayed. Subsequently, in certain protected areas, for example the admin, the broken extension will be paused, ensuring that the website is still usable in the respective area. The major benefit is that this mechanism allows site owners to still log in to their website, to fix the problem by either disabling the extension or solving the bug and then resuming the extension.

Extensions are only paused in certain designated areas. The frontend for example stays unaffected, as it is impossible to know what pausing the extension would cause to be missing, so it might be preferrable to clearly see that the website is temporarily not accessible instead.

The fatal error recovery is especially important in scope of encouraging the switch to a maintained PHP version, as not necessarily every WordPress extension is compatible with all PHP versions. If problems occur now, non-technical site owners that do not have immediate access to the codebase are not locked out of their site and can at least temporarily solve the problem quickly.

Websites that have custom requirements in that regard can implement their own shutdown handler by adding a `shutdown-handler.php` drop-in that returns the handler instance to use, which must be based on a class that inherits `WP_Shutdown_Handler`. That handler will then be used in place of the default one.

Websites that would like to modify specifically the error template displayed in the frontend can add a `php-error.php` drop-in that works similarly to the existing `db-error.php` drop-in.

Props afragen, bradleyt, flixos90, ocean90, schlessera, SergeyBiryukov, spacedmonkey.
Fixes #44458.

Built from https://develop.svn.wordpress.org/trunk@44524


git-svn-id: http://core.svn.wordpress.org/trunk@44355 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2019-01-09 20:05:49 +00:00
Gary Pendergast
56c162fbc9 Coding Standards: Upgrade WPCS to 1.0.0
WPCS 1.0.0 includes a bunch of new auto-fixers, which drops the number of coding standards issues across WordPress significantly. Prior to running the auto-fixers, there were 15,312 issues detected. With this commit, we now drop to 4,769 issues.

This change includes three notable additions:
- Multiline function calls must now put each parameter on a new line.
- Auto-formatting files is now part of the `grunt precommit` script. 
- Auto-fixable coding standards issues will now cause Travis failures.

Fixes #44600.


Built from https://develop.svn.wordpress.org/trunk@43571


git-svn-id: http://core.svn.wordpress.org/trunk@43400 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-08-17 01:51:36 +00:00
Sergey Biryukov
00ae0a1097 Docs: Remove backtick-escaping around a core function in the hook docs for the pre_prepare_themes_for_js filter.
This allows the function to be auto-linked in the Developer Reference. Added in [42877].

See #42505.
Built from https://develop.svn.wordpress.org/trunk@43024


git-svn-id: http://core.svn.wordpress.org/trunk@42853 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-04-29 21:47:22 +00:00
John Blackbourn
bbcb4300a3 Docs: Correct and improve various inline documentation.
See #42505

Built from https://develop.svn.wordpress.org/trunk@42877


git-svn-id: http://core.svn.wordpress.org/trunk@42707 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-03-25 19:35:29 +00:00
John Blackbourn
b13e73d05c Docs: Document more parameters and properties using typed array notation.
See #41756

Built from https://develop.svn.wordpress.org/trunk@42875


git-svn-id: http://core.svn.wordpress.org/trunk@42705 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-03-25 18:10:32 +00:00
Sergey Biryukov
3385d5b2de Docs: Expand delete_theme() return value, fix typo in delete_plugins() return value.
See #42505.
Built from https://develop.svn.wordpress.org/trunk@42778


git-svn-id: http://core.svn.wordpress.org/trunk@42608 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-03-04 22:07:29 +00:00
Sergey Biryukov
58592b64dc Docs: Use consistent description for $wp_filesystem global.
See #42505.
Built from https://develop.svn.wordpress.org/trunk@42777


git-svn-id: http://core.svn.wordpress.org/trunk@42607 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-03-04 21:58:30 +00:00
Sergey Biryukov
0e802a627d General: Introduce WP_Error::has_errors() method and use it where appropriate.
Props robdxw, DrewAPicture, SergeyBiryukov.
Fixes #42742.
Built from https://develop.svn.wordpress.org/trunk@42761


git-svn-id: http://core.svn.wordpress.org/trunk@42591 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-02-27 02:31:31 +00:00
Sergey Biryukov
d9f222f740 Customize: Correct closing tags in customize_themes_print_templates().
Props johnpgreen, nandorsky.
Fixes #43307.
Built from https://develop.svn.wordpress.org/trunk@42711


git-svn-id: http://core.svn.wordpress.org/trunk@42539 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-02-13 22:15:32 +00:00
Dion Hulse
1e5629d1f1 Themes: Use api.wordpress.org/themes/info/1.2/ to query theme information.
See #43192.

Built from https://develop.svn.wordpress.org/trunk@42632


git-svn-id: http://core.svn.wordpress.org/trunk@42461 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2018-02-01 05:19:30 +00:00
Gary Pendergast
aaf99e6913 Code is Poetry.
WordPress' code just... wasn't.
This is now dealt with.

Props jrf, pento, netweb, GaryJ, jdgrimes, westonruter, Greg Sherwood from PHPCS, and everyone who's ever contributed to WPCS and PHPCS.
Fixes #41057.


Built from https://develop.svn.wordpress.org/trunk@42343


git-svn-id: http://core.svn.wordpress.org/trunk@42172 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-11-30 23:11:00 +00:00
Sergey Biryukov
29d5ee851c I18N: Use a consistent pattern for translator comments for placeholders in some more Customizer strings.
See #41974.
Built from https://develop.svn.wordpress.org/trunk@42006


git-svn-id: http://core.svn.wordpress.org/trunk@41840 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-10-24 22:47:46 +00:00
Andrea Fercia
1f4dab28fe Accessibility: Improve the Theme Details modal accessibility.
- sets the modal content to `role="document"` to make screen readers switch back to browse mode
- standardizes the Themes screen and Customizer modals interaction
- Themes screen modal: sets initial focus on the modal overlay instead of the primary button, avoiding to "skip" content for keyboard and screen reader users

Fixes #42055.

Built from https://develop.svn.wordpress.org/trunk@41658


git-svn-id: http://core.svn.wordpress.org/trunk@41492 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-10-01 13:48:46 +00:00
Weston Ruter
76f590b99b Customize: Introduce a new experience for discovering, installing, and previewing themes within the customizer.
Unify the theme-browsing and theme-customization experiences by introducing a comprehensive theme browser and installer directly accessible in the customizer. Replaces the customizer theme switcher with a full-screen panel for discovering/browsing and installing themes available on WordPress.org. Themes can now be installed and previewed directly in the customizer without entering the wp-admin context. Also includes an extensible framework for browsing and installing themes from other sources.

Also includes CSS auto-prefixing added via `grunt precommit:css`.

For details, see: https://make.wordpress.org/core/2016/10/03/feature-proposal-a-new-experience-for-discovering-installing-and-previewing-themes-in-the-customizer/

Previously [38813] but reverted in [39140].
Fixes #37661, #34843, #38666.
Props celloexpressions, folletto, westonruter, karmatosed, melchoyce, afercia.

Built from https://develop.svn.wordpress.org/trunk@41648


git-svn-id: http://core.svn.wordpress.org/trunk@41482 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-09-29 20:13:50 +00:00
Dion Hulse
db86c635ba Standardise on performing api.WordPress.org requests over SSL when possible, falling back to non-SSL when appropriate.
This also standardises the `User-Agent` used when communicating with WordPress.org, allowing for more consistent version detection.

Fixes #42004.

Built from https://develop.svn.wordpress.org/trunk@41605


git-svn-id: http://core.svn.wordpress.org/trunk@41440 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-09-27 08:00:49 +00:00
Weston Ruter
84ed6f665f Customize: Prevent links to customize.php from being generated which have query vars from wp_removable_query_args() present.
Props dlh.
See #23367, #32692.
Fixes #31850.

Built from https://develop.svn.wordpress.org/trunk@40313


git-svn-id: http://core.svn.wordpress.org/trunk@40220 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-03-22 23:04:42 +00:00
Sergey Biryukov
1b2ed70f39 I18N: Move the support forums URL in update-related HTTP API error messages to a separate translatable string that is already used elsewhere.
Props ramiy, SergeyBiryukov.
Fixes #38880.
Built from https://develop.svn.wordpress.org/trunk@39325


git-svn-id: http://core.svn.wordpress.org/trunk@39265 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-11-21 01:52:32 +00:00
Helen Hou-Sandí
1281a28382 Customize: Revert theme install feature.
This is a great goal for core, and is close, but it is not in shape to be shipped for 4.7 and there is not enough time left in the development cycle to alter and polish sufficiently. There are bugs, but more than that, there are more fundamental questions around the use of existing UI, general UX, and how findable themes are (not) on the .org side.

see #37661.

Built from https://develop.svn.wordpress.org/trunk@39140


git-svn-id: http://core.svn.wordpress.org/trunk@39080 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-11-04 17:18:26 +00:00
Pascal Birchler
81a26f6900 Posts, Post Types: Add support for post type templates.
WordPress has supported custom page templates for over 12 years, allowing developers to create various layouts for specific pages.
While this feature is very helpful, it has always been limited to the 'page' post type and not was not available to other post types.

By opening up the page template functionality to all post types, we continue to improve the template hierarchy's flexibility.

In addition to the `Template Name` file header, the post types supported by a template can be specified using `Template Post Type: post, foo, bar`.
When at least one template exists for a post type, the 'Post Attributes' meta box will be displayed in the back end, without the need to add post type support for `'page-attributes'`. 'Post Attributes' can be customized per post type using the `'attributes'` label when registering a post type.

Props johnbillion, Mte90, dipesh.kakadiya, swissspidy.
Fixes #18375.
Built from https://develop.svn.wordpress.org/trunk@38951


git-svn-id: http://core.svn.wordpress.org/trunk@38894 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-10-26 08:07:30 +00:00
Weston Ruter
1c3b96537f Customize: Introduce a new experience for discovering, installing, and previewing themes within the customizer.
Unify the theme-browsing and theme-customization experiences by introducing a comprehensive theme browser and installer directly accessible in the customizer. Replaces the customizer theme switcher with a full-screen panel for discovering/browsing and installing themes available on WordPress.org. Themes can now be installed and previewed directly in the customizer without entering the wp-admin context.

For details, see https://make.wordpress.org/core/2016/10/03/feature-proposal-a-new-experience-for-discovering-installing-and-previewing-themes-in-the-customizer/

Fixes #37661, #34843.
Props celloexpressions, folletto, westonruter, karmatosed, afercia.

Built from https://develop.svn.wordpress.org/trunk@38813


git-svn-id: http://core.svn.wordpress.org/trunk@38756 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-10-19 03:20:29 +00:00
Pascal Birchler
a60ac4684b Themes: Do not show an update button if there's no update package.
This updates the list view to match the existing behaviour in the single theme modal.

Props tristangemus for initial patch.
Fixes #37774.
Built from https://develop.svn.wordpress.org/trunk@38788


git-svn-id: http://core.svn.wordpress.org/trunk@38731 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-10-14 13:33:29 +00:00
Pascal Birchler
4a88d55054 I18N: Introduce a user-specific language setting.
By enabling the user to select their preferred locale when editing the profile, we allow for greater personalization of the WordPress admin and therefore a better user experience.

The back end will be displayed in the user's individual locale while the locale used on the front end equals the one set for the whole site. If the user didn't specify a locale, the site's locale will be used as a fallback. The new `locale` property of the `WP_User` class can be used to retrieve the user's locale setting.

Props ocean90, ipm-frommen, swissspidy.
Fixes #29783.
Built from https://develop.svn.wordpress.org/trunk@38705


git-svn-id: http://core.svn.wordpress.org/trunk@38648 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-10-03 07:04:29 +00:00
Sergey Biryukov
94ff5710ce Docs: Correct two references to plugins in the $args parameter description for themes_api().
Props hideokamoto.
Fixes #37939.
Built from https://develop.svn.wordpress.org/trunk@38623


git-svn-id: http://core.svn.wordpress.org/trunk@38566 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-09-19 16:46:30 +00:00
Scott Taylor
b7812bd416 AJAX: add a new function, wp_doing_ajax(), which can replace... (wait for it...) DOING_AJAX checks via the constant.
Props Mte90, sebastian.pisula, swissspidy.
Fixes #25669.

Built from https://develop.svn.wordpress.org/trunk@38334


git-svn-id: http://core.svn.wordpress.org/trunk@38275 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-08-23 14:33:30 +00:00
Dominik Schilling
e4abc1ecbf Filesystem API: Output buffering for request_filesystem_credentials() should wrap the function directly.
Previously `ob_end_clean()` was only called when the previous condition was successful which led to unexpected results when another output buffering was involved, like PHPUnit's.

Fixes #37488.
Built from https://develop.svn.wordpress.org/trunk@38167


git-svn-id: http://core.svn.wordpress.org/trunk@38108 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-07-27 17:11:56 +00:00
Sergey Biryukov
fd2d9ef63b I18N: Remove non-translatable link attributes from translatable strings in wp_plugin_update_row(), wp_theme_update_row(), and get_theme_update_available().
The resulting strings are much easier to translate.

See #36048.
Built from https://develop.svn.wordpress.org/trunk@38082


git-svn-id: http://core.svn.wordpress.org/trunk@38023 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-07-17 21:03:31 +00:00
Sergey Biryukov
48f9940cfc I18N: Change unnecessary uppercased words in WP_Upgrader::generic_strings() to lower case.
See #18218.
Built from https://develop.svn.wordpress.org/trunk@38074


git-svn-id: http://core.svn.wordpress.org/trunk@38015 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-07-17 13:29:29 +00:00
Sergey Biryukov
f429056194 I18N: Combine two duplicate "Unable to locate WordPress Theme directory" strings.
See #18218.
Built from https://develop.svn.wordpress.org/trunk@38073


git-svn-id: http://core.svn.wordpress.org/trunk@38014 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-07-17 12:58:28 +00:00
Dominik Schilling
98d03cb738 Update/Install: Give context to some install/update strings to allow for differentiation between theme and plugin translations.
Props swissspidy, SergeyBiryukov.
Fixes #37290.
Built from https://develop.svn.wordpress.org/trunk@38057


git-svn-id: http://core.svn.wordpress.org/trunk@37998 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-07-13 17:32:29 +00:00
Dominik Schilling
559c6637bf Docs: Fix a typo in the DocBlock for themes_api(), themes_api, plugins_api(), and plugins_api.
See #32246.
Built from https://develop.svn.wordpress.org/trunk@38025


git-svn-id: http://core.svn.wordpress.org/trunk@37966 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-07-09 14:39:33 +00:00
Pascal Birchler
a5580012a3 Docs: Fix a typo across some function and hook docs.
s/filterss/filters.

See #32246.
Built from https://develop.svn.wordpress.org/trunk@37961


git-svn-id: http://core.svn.wordpress.org/trunk@37902 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-07-04 22:45:29 +00:00
Dominik Schilling
1d13c64927 Themes: After [37287], remove deprecated feature category.
See #33407.
Built from https://develop.svn.wordpress.org/trunk@37947


git-svn-id: http://core.svn.wordpress.org/trunk@37888 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-07-04 10:01:28 +00:00
Dominik Schilling
b733aa79ab Themes: Add "Custom Logo" to the list of WordPress theme features.
Props rabmalin.
See #33407.
Fixes #36744.
Built from https://develop.svn.wordpress.org/trunk@37945


git-svn-id: http://core.svn.wordpress.org/trunk@37886 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-07-04 09:35:27 +00:00
Konstantin Obenland
8c82515ab6 Update/Install: Shiny Updates v2.
Gone are the days of isolation and feelings of "meh", brought on by The Bleak Screen of Sadness. For a shiny knight has arrived to usher our plugins and themes along their arduous journey of installation, updates, and the inevitable fate of ultimate deletion.

Props swissspidy, adamsilverstein, mapk, afragen, ocean90, ryelle, j-falk, michael-arestad, melchoyce, DrewAPicture, AdamSoucie, ethitter, pento, dd32, kraftbj, Ipstenu, jorbin, afercia, stephdau, paulwilde, jipmoors, khag7, svovaf, jipmoors, obenland.
Fixes #22029, #25828, #31002, #31529, #31530, #31773, #33637, #35032.


Built from https://develop.svn.wordpress.org/trunk@37714


git-svn-id: http://core.svn.wordpress.org/trunk@37680 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-15 16:37:29 +00:00
Drew Jaynes
c3055cc190 Docs: Standardize hook docs in wp-admin/* to use third-person singular verbs per the inline documentation standards for PHP.
See #36913.

Built from https://develop.svn.wordpress.org/trunk@37488


git-svn-id: http://core.svn.wordpress.org/trunk@37456 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-22 18:01:30 +00:00
Dominik Schilling
93eaf20f29 Themes: Update list of WordPress theme features.
* Remove color tags.
* Layout: Add Grid Layout, remove Fixed Layout, Fluid Layout, and Responsive Layout.
* Features: Add Footer Widgets, remove Blavatar.
* Subject: Add Blog, E-Commerce, Education, Entertainment, Food & Drink, Holiday, News, Photography and Portfolio, remove Photoblogging and Seasonal.

Props grapplerulrich, davewarfel.
Fixes #33407.
Built from https://develop.svn.wordpress.org/trunk@37287


git-svn-id: http://core.svn.wordpress.org/trunk@37253 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-04-21 21:11:29 +00:00
John Blackbourn
56cc4bc79c Docs: Clarify possible types passed to the themes_api_result filter.
See #32246

Built from https://develop.svn.wordpress.org/trunk@37209


git-svn-id: http://core.svn.wordpress.org/trunk@37175 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-04-15 01:43:28 +00:00
Jeremy Felt
f74e50d1dd Multisite: Remove theme from network allowed themes when deleted
Previously, a deleted theme would remain in the list of allowed themes until manually cleared. This uses `WP_Theme::network_disable_theme()`, added in [37202].

Fixes #34182.

Built from https://develop.svn.wordpress.org/trunk@37203


git-svn-id: http://core.svn.wordpress.org/trunk@37169 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-04-14 03:49:26 +00:00
Sergey Biryukov
ac2aab5b82 I18N: Move the aria-label text in get_theme_update_available() to a separate string for easier translation.
Add translator comments.

Props ramiy.
Fixes #36048.
Built from https://develop.svn.wordpress.org/trunk@36845


git-svn-id: http://core.svn.wordpress.org/trunk@36812 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-03-04 11:12:26 +00:00
Andrea Fercia
62d8fda8dd After [36171] remove all the occurrences of the old CSS clearfix.
The old clearfix was applied to very specific items and defined multiple times
across CSS files. Uses the new generic `.wp-clearfix` utility class instead.

See #26396.
Built from https://develop.svn.wordpress.org/trunk@36422


git-svn-id: http://core.svn.wordpress.org/trunk@36389 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-30 13:46:27 +00:00
Andrea Fercia
5787972a67 Accessibility: Remove title attributes from the Theme browser.
Also, adds translators comments and removes a no more used variable, see [27748].

Fixes #35140.
Built from https://develop.svn.wordpress.org/trunk@36015


git-svn-id: http://core.svn.wordpress.org/trunk@35980 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-12-19 00:00:29 +00:00
Gary Pendergast
d04396d0ad Docs: Replace a reference to WP.org with WordPress.org.
Built from https://develop.svn.wordpress.org/trunk@35729


git-svn-id: http://core.svn.wordpress.org/trunk@35693 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-11-22 22:38:26 +00:00
Weston Ruter
8fed77574c Customize: Return user to referring URL when leaving Customizer in absence of return query param.
When referring URL is not available, default returning user to frontend URL instead of admin URL. Themes page is updated to include the `return` path in Customizer links.

Props McGuive7, westonruter.
Fixes #32637.

Built from https://develop.svn.wordpress.org/trunk@35483


git-svn-id: http://core.svn.wordpress.org/trunk@35447 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-11-01 06:40:28 +00:00
Drew Jaynes
9c46e6605e Docs: Improve the hook documentation for the themes_api filter.
Standardizes the hook doc summary and expands on expected behavior when short-circuiting the request, which is dependent on the `$action` type.

Also updates the expected types on the `$override` parameter.

See #34036. See #32246.

Built from https://develop.svn.wordpress.org/trunk@34651


git-svn-id: http://core.svn.wordpress.org/trunk@34615 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-27 23:01:24 +00:00
Drew Jaynes
0d447249c3 Docs: Normalize the data table spacing in the themes_api() DocBlock following a typo fix in [34649].
See #34036.

Built from https://develop.svn.wordpress.org/trunk@34650


git-svn-id: http://core.svn.wordpress.org/trunk@34614 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-27 22:49:24 +00:00
Drew Jaynes
ad33a92b6b Docs: Fix two typos in the DocBlock description for themes_api():
* The fourth `$action` type is 'feature_list'
* The first `$action` type in the data table should be 'query_themes'

See #34036.

Built from https://develop.svn.wordpress.org/trunk@34649


git-svn-id: http://core.svn.wordpress.org/trunk@34613 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-27 22:47:25 +00:00
Drew Jaynes
b27d14ccf3 Docs: Adjust the themes_api() DocBlock description to clarify the "second" available hook, themes_api, and add new information for the "third" hook, themes_api_result.
See #34036.

Built from https://develop.svn.wordpress.org/trunk@34648


git-svn-id: http://core.svn.wordpress.org/trunk@34612 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-27 22:45:25 +00:00
Drew Jaynes
b6de1478fd Docs: Vastly improve documentation for themes_api().
Adds:
* A hash notation with descriptions for all accepted arguments
* A matrix-like data table demonstrating which arguments are available for the different `$action` types
* A better summary and description with linked hooks
* An improved return description with a link to external information

Props ocean90.
See #34036.

Built from https://develop.svn.wordpress.org/trunk@34640


git-svn-id: http://core.svn.wordpress.org/trunk@34604 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-27 21:52:25 +00:00
Sergey Biryukov
5a97ff5206 Bump H3 headings to H2 on Themes screen for better accessibility.
props joehills.
fixes #33560.
Built from https://develop.svn.wordpress.org/trunk@33820


git-svn-id: http://core.svn.wordpress.org/trunk@33788 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-08-31 03:51:21 +00:00
Dominik Schilling
8679a93f16 Themes: Remove legacy theme preview.
The pre-3.4 theme previewer doesn't work when using a static front page.
We kept the old theme preview for no-JS and some browsers that were less capable. But since browsers are doing a better job today we don't need to continue fixing/shipping this legacy code. Bye!

fixes #33178.
Built from https://develop.svn.wordpress.org/trunk@33492


git-svn-id: http://core.svn.wordpress.org/trunk@33459 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-29 18:36:26 +00:00
Scott Taylor
8b1286417e ob_get_contents() followed by ob_end_clean() can be replaced by ob_get_clean().
See #32444.

Built from https://develop.svn.wordpress.org/trunk@32965


git-svn-id: http://core.svn.wordpress.org/trunk@32936 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-27 01:12:24 +00:00
Scott Taylor
c6a4512b1b Add missing doc blocks to wp-admin/includes/*.
Fix some egregious uses of tabbing.
Some functions can simply return `apply_filters(...)` instead of setting a variable that is immediately returned.

See #32444.

Built from https://develop.svn.wordpress.org/trunk@32654


git-svn-id: http://core.svn.wordpress.org/trunk@32624 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-29 20:17:26 +00:00
Scott Taylor
a51dfa3971 In the style of #30947 and default-filters.php, add 2 new files to wp-admin/includes:
`admin-filters.php`
`ms-admin-filters.php`

There are random actions and filters littered among files like `misc.php`. These files contain functions that won't work outside of admin context and are typically only loaded in files that have already loaded the admin bootstrap.

See #32529.

Built from https://develop.svn.wordpress.org/trunk@32653


git-svn-id: http://core.svn.wordpress.org/trunk@32623 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-29 17:04:26 +00:00
Scott Taylor
19a3aacc94 Add @static* annotations where they are missing.
Initialize all static vars that are not, most to `null`.

See #32444.

Built from https://develop.svn.wordpress.org/trunk@32650


git-svn-id: http://core.svn.wordpress.org/trunk@32620 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-29 15:43:29 +00:00
Scott Taylor
282e28ad81 Add @global annotations to (the rest of the?) wp-admin/* files.
Does not include list table file changes.

See #32444.

Built from https://develop.svn.wordpress.org/trunk@32643


git-svn-id: http://core.svn.wordpress.org/trunk@32613 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-29 02:06:31 +00:00
Dominik Schilling
e0657e6904 Don't return empty themes in wp_prepare_themes_for_js().
see #32002.
Built from https://develop.svn.wordpress.org/trunk@32264


git-svn-id: http://core.svn.wordpress.org/trunk@32235 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-22 16:11:25 +00:00
Helen Hou-Sandí
1d1c026e8e Rename the pre_wp_prepare_themes_for_js filter to pre_prepare_themes_for_js.
props DrewAPicture.
fixes #31789.

Built from https://develop.svn.wordpress.org/trunk@32246


git-svn-id: http://core.svn.wordpress.org/trunk@32217 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-21 14:23:27 +00:00
Dominik Schilling
786bce5b9c Customizer: Escape theme preview URLs.
props johnbillion, ocean90.
see #31896.
Built from https://develop.svn.wordpress.org/trunk@32134


git-svn-id: http://core.svn.wordpress.org/trunk@32113 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-15 16:33:25 +00:00
Dominik Schilling
8ab7c076d6 Customizer Theme Switcher: Switch the details/live preview buttons.
props celloexpressions, ocean90.
fixes #31791.
Built from https://develop.svn.wordpress.org/trunk@31954


git-svn-id: http://core.svn.wordpress.org/trunk@31933 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-01 12:36:26 +00:00
Sergey Biryukov
efb2740e88 Themes: Add a filter to short-circuit wp_prepare_themes_for_js().
props mattwiebe, DrewAPicture.
fixes #31789.
Built from https://develop.svn.wordpress.org/trunk@31943


git-svn-id: http://core.svn.wordpress.org/trunk@31922 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-31 20:04:25 +00:00
Dominik Schilling
289db2d37b Customizer: Revert [31911]. We want to preserve url and return URL parameters to make the experience smoother.
see #31782.
Built from https://develop.svn.wordpress.org/trunk@31933


git-svn-id: http://core.svn.wordpress.org/trunk@31912 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-30 19:22:26 +00:00
Mark Jaquith
8b180b9a46 Add theme browsing and theme switching to the Customizer
* Brings into core the Customizer Theme Switcher feature plugin
* You can now browse, preview, and activate themes right from the Customizer

fixes #31303.
props celloexpressions, afercia, westonruter, folletto, designsimply
Built from https://develop.svn.wordpress.org/trunk@31533


git-svn-id: http://core.svn.wordpress.org/trunk@31514 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-24 20:31:24 +00:00
Sergey Biryukov
1e0905793c Avoid inadvertent stomping of the original $args parameter passed to plugins_api_result and themes_api_result filters in plugins_api() and themes_api(), respectively.
Fixes a regression introduced in [25956].

props Corphi, obenland.
fixes #29079.
Built from https://develop.svn.wordpress.org/trunk@31363


git-svn-id: http://core.svn.wordpress.org/trunk@31344 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-07 06:21:22 +00:00
Scott Taylor
0f6d0b84d1 Remove unused local vars in delete_plugins(), delete_theme(), WP_Date_Query->validate_date_values(), global_terms(), and WP_Text_Diff_Renderer_Table->_changed().
This will clear out the "Unused Code" label in the next Scrutinizer report.

See #30799.

Built from https://develop.svn.wordpress.org/trunk@31217


git-svn-id: http://core.svn.wordpress.org/trunk@31198 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-16 21:19:22 +00:00
Scott Taylor
fe6b5983df In PHP 5.0.0, is_a() became deprecated in favour of the instanceof operator. Calling is_a() would result in an E_STRICT warning.
In PHP 5.3.0, `is_a()` is no longer deprecated, and will therefore no longer throw `E_STRICT` warnings.

To avoid warnings in PHP < 5.3.0, convert all `is_a()` calls to `$var instanceof WP_Class` calls.

`instanceof` does not throw any error if the variable being tested is not an object, it simply returns `false`.

Props markoheijnen, wonderboymusic.
Fixes #25672.

Built from https://develop.svn.wordpress.org/trunk@31188


git-svn-id: http://core.svn.wordpress.org/trunk@31169 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-16 01:06:24 +00:00
Scott Taylor
60b0cd7943 The keyword elseif should be used instead of else if so that all control keywords look like single words.
This was a mess, is now standardized across the codebase, except for a few 3rd-party libs. 

See #30799.

Built from https://develop.svn.wordpress.org/trunk@31090


git-svn-id: http://core.svn.wordpress.org/trunk@31071 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-08 07:05:25 +00:00
Scott Taylor
5eb5afac34 For clarity, initialize some arrays that previously were only assigned via short circuit in loops.
See #30799.

Built from https://develop.svn.wordpress.org/trunk@30982


git-svn-id: http://core.svn.wordpress.org/trunk@30968 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-20 22:47:22 +00:00
Dominik Schilling
eccd5a5eda Pass locale to wordpress.org theme/plugin API.
In the future this will be used to return localized plugin/theme info.

see #30735.
Built from https://develop.svn.wordpress.org/trunk@30944


git-svn-id: http://core.svn.wordpress.org/trunk@30933 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-16 22:39:22 +00:00
John Blackbourn
6fcf4ed3c5 Prevent the deletion of a theme while it has an active child theme.
Fixes #29580
Props karpstrucking, jesin

Built from https://develop.svn.wordpress.org/trunk@30697


git-svn-id: http://core.svn.wordpress.org/trunk@30687 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-02 02:21:24 +00:00
Scott Taylor
2c32752abd Improve various @param docs for src/wp-admin/*.
See #30224.

Built from https://develop.svn.wordpress.org/trunk@30680


git-svn-id: http://core.svn.wordpress.org/trunk@30670 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-01 01:00:22 +00:00
Dominik Schilling
57c41263d7 Language packs: Remove translations when deleting a theme or a plugin.
This is for translation files in WP_LANG_DIR which are installed through a language pack.
Change `wp_get_installed_translations()` to only return a translation if the .mo file also exists.

fixes #29860.
Built from https://develop.svn.wordpress.org/trunk@29856


git-svn-id: http://core.svn.wordpress.org/trunk@29619 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-10-08 19:05:20 +00:00
Drew Jaynes
d33c807723 Fix some documentation typos in various core files.
Props vlajos.
Fixes #29199.

Built from https://develop.svn.wordpress.org/trunk@29479


git-svn-id: http://core.svn.wordpress.org/trunk@29257 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-13 03:56:17 +00:00
Dominik Schilling
57c914f75a Customizer: Add meta capability customize which is mapped to edit_theme_options.
You can now allow users to access the Customizer, say for any user who can `edit_posts`, via `map_meta_cap` or `user_has_cap` filter. See ticket for examples.

props westonruter, nacin.
fixes #28605.
Built from https://develop.svn.wordpress.org/trunk@29170


git-svn-id: http://core.svn.wordpress.org/trunk@28954 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-14 19:01:16 +00:00
Sergey Biryukov
997cbaa03c Use a time constant in get_theme_feature_list() and File_Upload_Upgrader.
props GaVrA.
fixes #28124.
Built from https://develop.svn.wordpress.org/trunk@28253


git-svn-id: http://core.svn.wordpress.org/trunk@28081 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-05 08:26:24 +00:00
Andrew Nacin
2bc282957c Translate a string added in 3.7.1 but never translated previously.
props SergeyBiryukov.
fixes #27819.

Built from https://develop.svn.wordpress.org/trunk@28145


git-svn-id: http://core.svn.wordpress.org/trunk@27976 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-16 00:38:14 +00:00
Andrew Nacin
9f81d0526e Theme Installer: Revert to proxying through PHP for WordPress.org API requests.
This is to ensure we have valid installation nonces, though we've run into this as a problem previously (see #27639, #27581, #27055).

A tad slower, but we gained speed in 3.9 by simplifying the request made to the API.

props ocean90.
fixes #27798.

Built from https://develop.svn.wordpress.org/trunk@28126


git-svn-id: http://core.svn.wordpress.org/trunk@27957 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-15 01:16:14 +00:00
Andrew Nacin
e7fc009f7c Theme Installer: Combine 'Layout' and 'Columns' filters so 'Features' can span two columns.
see #27055.

Built from https://develop.svn.wordpress.org/trunk@28037


git-svn-id: http://core.svn.wordpress.org/trunk@27867 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-08 04:30:15 +00:00
Andrew Nacin
b5d0471fef Merge some theme update strings.
props pavelevap, yoavf.
fixes #25083.

Built from https://develop.svn.wordpress.org/trunk@27748


git-svn-id: http://core.svn.wordpress.org/trunk@27585 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-26 20:08:15 +00:00
Andrew Nacin
17ccbc86c9 Rename the new page_templates filter to theme_page_templates, and pass it a post object for proper context.
see #13265.

Built from https://develop.svn.wordpress.org/trunk@27470


git-svn-id: http://core.svn.wordpress.org/trunk@27315 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-08 04:19:16 +00:00
Andrew Nacin
0c16c0477b Reference https://wordpress.org rather than http://wordpress.org in strings, links, comments, etc.
props Ipstenu, markjaquith.
see #27115.

Built from https://develop.svn.wordpress.org/trunk@27369


git-svn-id: http://core.svn.wordpress.org/trunk@27219 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-03 02:34:27 +00:00
Sergey Biryukov
3a7ce85b4f Change 'Width' to 'Layout' to match the hard-coded list of translatable theme features in get_theme_feature_list().
props janrenn.
fixes #26777 for trunk.
Built from https://develop.svn.wordpress.org/trunk@26905


git-svn-id: http://core.svn.wordpress.org/trunk@26788 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-01-05 17:16:11 +00:00
Ryan Boren
07c16fd23c The Pinking Shears stir from their slumber, awakened by what may seem, to those
innocent in the ways of The Shears, a triviality, a nothing-of-consequence. But there are consequences indeed for recklessly trailing your whitespace. Naturally, they a dire!

One, two! One, two! And through and through
The Pinking Shears went snicker-snack!
They plucked your tail and with your space
They went sniksnuking back.

Let me tell you, that can be uncomfortable, so always pre-sniksnuk your trailing whites. May The Shears be with you.

Built from https://develop.svn.wordpress.org/trunk@26851


git-svn-id: http://core.svn.wordpress.org/trunk@26738 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-11 19:49:11 +00:00
Drew Jaynes
7bf5470bab Inline documentation fixes for hooks and functions introduced in 3.8.0.
Built from https://develop.svn.wordpress.org/trunk@26736


git-svn-id: http://core.svn.wordpress.org/trunk@26625 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-06 19:18:11 +00:00
Andrew Nacin
df48cebeb4 No-JavaScript and no-Customizer support for the new Themes screen.
JavaScript is rarely disabled, but graceful degradation is still important. For example, syntax errors can occur, usually with major WP updates that overhaul entire experiences and update external libraries combined with themes or plugins doing weird or old things. If this error is due to their current theme, a user needs to be able to access the themes screen to switch away from the theme. A more subtle issue could make things painful to diagnose.

This commit renders the grid in PHP (the template is duplicated, but it lightweight, fairly mundane, and easy to sync). On Backbone render, the grid is then re-rendered from JavaScript so searches can occur. Customize and Live Preview is disabled if JS fails to kick in. If JS is disabled, old-school "Preview" links are displayed.

No-Customizer support: The customizer is only supported when the browser supports postMessage (IE8+), and if the frontend is a different domain, CORS (IE10+). We use the .hide-if-no-customize class for this. Pre-customize "Preview" links should use .hide-if-customize.

The .load-customize class should be used to declare a link that opens the customizer. This enables customize-loader.js to intercept this link and load the customizer on top of the current window, making for a smoother experience.

fixes #25964.

Built from https://develop.svn.wordpress.org/trunk@26726


git-svn-id: http://core.svn.wordpress.org/trunk@26615 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-06 16:11:10 +00:00
Matt Mullenweg
ba93d95af0 Add and display new tags to highlight the ever-growing number of responsive themes available. Fixes #21442.
Props Otto42 and lancewillett.

Built from https://develop.svn.wordpress.org/trunk@26711


git-svn-id: http://core.svn.wordpress.org/trunk@26600 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-06 01:07:11 +00:00
Andrew Nacin
08430e2684 Theme: When showing an author in the grid (during a search), don't include the author's link.
fixes #26433.

Built from https://develop.svn.wordpress.org/trunk@26684


git-svn-id: http://core.svn.wordpress.org/trunk@26574 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-05 19:08:10 +00:00
Matt Mullenweg
e20a684463 Create a new tag for themes that have passed the theme check guidelines for accessibility. Fixes #26157
Props lancewillett.


Built from https://develop.svn.wordpress.org/trunk@26658


git-svn-id: http://core.svn.wordpress.org/trunk@26548 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-05 03:49:10 +00:00
Drew Jaynes
087289b6a4 Hook docs pinking shears.
Built from https://develop.svn.wordpress.org/trunk@26631


git-svn-id: http://core.svn.wordpress.org/trunk@26521 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-04 20:03:09 +00:00
Andrew Nacin
bd17d08545 Add wp_prepare_themes_for_js filter to wp_prepare_themes_for_js().
props kovshenin.
fixes #25948.

Built from https://develop.svn.wordpress.org/trunk@26625


git-svn-id: http://core.svn.wordpress.org/trunk@26515 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-04 19:21:10 +00:00
Andrew Nacin
c6ddea79d1 Themes: Always include the current theme in the list, even if it is not allowed.
see #25948.

Built from https://develop.svn.wordpress.org/trunk@26529


git-svn-id: http://core.svn.wordpress.org/trunk@26422 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-02 18:46:11 +00:00
Dion Hulse
8ad620e51f Themes: Do extra Cap checks before outputting links, and use full URI's. See #25948
Built from https://develop.svn.wordpress.org/trunk@26470


git-svn-id: http://core.svn.wordpress.org/trunk@26368 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-11-29 09:01:09 +00:00
Dion Hulse
c8b13eaa35 Themes: When the user doesn't have switch_themes capabilities, and we've passed the current theme, detect the theme slug/stylesheet correctly so that the flags are set properly. See #25948
Built from https://develop.svn.wordpress.org/trunk@26469


git-svn-id: http://core.svn.wordpress.org/trunk@26367 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-11-29 08:38:09 +00:00
Dion Hulse
61ed60c619 Themes: Move the escaping of content from JS back to PHP. This allows us to take advantage of the display() WP_Theme method to translate the text properly, and to strip out any HTML tags we don't wish to display. Fixes #26100. See #25948
Built from https://develop.svn.wordpress.org/trunk@26316


git-svn-id: http://core.svn.wordpress.org/trunk@26220 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-11-22 02:34:10 +00:00
Dion Hulse
893262f742 Themes: Add a get_theme_update_available() function to retrieve an update link and use it on the Themes page. See #26078
Built from https://develop.svn.wordpress.org/trunk@26282


git-svn-id: http://core.svn.wordpress.org/trunk@26187 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-11-20 02:57:10 +00:00
Dion Hulse
5862ddbd8f Appearance: Fix a PHP Notice when the update transient isn't available (for example, due to a timeout or being used offline). See #25948
Built from https://develop.svn.wordpress.org/trunk@26278


git-svn-id: http://core.svn.wordpress.org/trunk@26183 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-11-20 01:40:09 +00:00
Andrew Nacin
1832d880a5 Sort themes by name on the new themes.php page. see #25948.
Built from https://develop.svn.wordpress.org/trunk@26216


git-svn-id: http://core.svn.wordpress.org/trunk@26124 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-11-15 16:42:10 +00:00