Commit Graph

2668 Commits

Author SHA1 Message Date
Boone Gorges
44ac816aed Split shared taxonomy terms on term update.
When updating an existing taxonomy term that shares its `term_id` with
another term, we generate a new row in `wp_terms` and associate the updated
term_taxonomy_id with the new term. This separates the terms, such that
updating the name of one term does not change the name of any others.

In cases where a plugin or theme stores term IDs in the database, term splitting
can cause backward compatibility issues. The current changeset introduces
two utilities to aid developers with the transition. The `'split_shared_term'`
action fires when the split takes place, and should be used to catch changes in
term_id. In cases where `'split_shared_term'` cannot be used, the
`wp_get_split_term()` function gives developers access to data about terms
that have previously been split. Documentation for these functions, with
examples, can be found in the Plugin Developer Handbook. WordPress itself
stores term IDs in this way in two places; `_wp_check_split_default_terms()`
and `_wp_check_split_terms_in_menus()` are hooked to `'split_shared_term'` to
perform the necessary cleanup.

See [30241] for a previous attempt at the split. It was reverted in [30585]
for 4.1.0.

Props boonebgorges, mboynes.
See #5809.
Built from https://develop.svn.wordpress.org/trunk@31418


git-svn-id: http://core.svn.wordpress.org/trunk@31399 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-11 19:42:25 +00:00
John Blackbourn
35f4e719b2 Introduce a logout_redirect filter so the redirect destination can be changed when a user logs out. Parameters:
* string  $redirect_to           The redirect destination URL.
 * string  $requested_redirect_to The requested redirect destination URL passed as a parameter.
 * WP_User $user                  The WP_User object for the user that's logging out. 

Fixes #27617
Props SergeyBiryukov, johnbillion

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


git-svn-id: http://core.svn.wordpress.org/trunk@31398 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-11 19:19:26 +00:00
Scott Taylor
a7e581d991 After [31415], make sure str_replace() only occurs once for each matched tag to avoid overwriting until <pre>s.
See #31214.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31397 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-11 19:15:26 +00:00
Scott Taylor
cb3ef90d24 Protect <pre> tags when parsing oEmbed responses in WP_oEmbed::_strip_newlines() in DOMDocument is available.
Fixes #31214.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31396 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-11 19:11:27 +00:00
John Blackbourn
4d12ccadd8 Add $expiration as a parameter to the pre_set_transient_{$transient} filter.
Props mgibbs189
Fixes #30576

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


git-svn-id: http://core.svn.wordpress.org/trunk@31395 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-11 17:12:26 +00:00
Scott Taylor
cd4fc46cf2 oEmbed discovery fails on encoded link URLs: decode HTML chars in the HTML-encoded URLs that are returned.
Props cweiske.
Fixes #31213.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31394 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-11 16:13:26 +00:00
Sergey Biryukov
7ff18dae4e Add .comment-reply-login class to get_post_reply_link(), for consistency with get_comment_reply_link().
props johnjamesjacoby.
fixes #31298.
Built from https://develop.svn.wordpress.org/trunk@31412


git-svn-id: http://core.svn.wordpress.org/trunk@31393 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-11 16:11:28 +00:00
Sergey Biryukov
491ecc4c1c Use require_once() to prevent a fatal error if _wp_admin_bar_init() is called twice.
props danielbachhuber.
fixes #31287.
Built from https://develop.svn.wordpress.org/trunk@31411


git-svn-id: http://core.svn.wordpress.org/trunk@31392 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-11 15:59:26 +00:00
Gary Pendergast
daf711a338 Shiny Updates: Replace $.post() calls with wp.ajax.post(), and clean up a bunch of the now unnecessary code.
See #29820


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


git-svn-id: http://core.svn.wordpress.org/trunk@31390 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-11 05:06:28 +00:00
Sergey Biryukov
97698eb127 Always pass back the custom classes get_post_class() was called with, even if the post was not found.
props F J Kaiser, Bueltge.
fixes #22271.
Built from https://develop.svn.wordpress.org/trunk@31408


git-svn-id: http://core.svn.wordpress.org/trunk@31389 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-11 04:00:26 +00:00
Scott Taylor
3cd585a457 oEmbed discovery fails on XHTML head links, adjust the regex to not match /.
Props cweiske.
Fixes #31212.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31388 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-10 23:37:28 +00:00
Scott Taylor
64e19e98a3 Use Math.round() instead of Math.floor() when determining page of attachments to query in wp.media.model.Query.sync.
This was causing an infinite loop of AJAX requests - so.... good catch!

Props Veritaserum.
Fixes #31116.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31387 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-10 22:54:28 +00:00
Scott Taylor
6cb16f7a21 Remove unused media JS files.
See #28510.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31386 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-10 22:45:28 +00:00
Sergey Biryukov
0e65ae6176 Remove redundant string with a typo introduced in [25481].
see #31217.
Built from https://develop.svn.wordpress.org/trunk@31404


git-svn-id: http://core.svn.wordpress.org/trunk@31385 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-10 07:53:28 +00:00
Sergey Biryukov
12f4004989 Replace generic "Dear user" greeting in email notifications with a more personalized one.
props Ipstenu.
fixes #31217.
Built from https://develop.svn.wordpress.org/trunk@31403


git-svn-id: http://core.svn.wordpress.org/trunk@31384 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-10 07:47:27 +00:00
Sergey Biryukov
973d157615 Switch to a string placeholder, as number_format_i18n() returns a string.
see #26553.
Built from https://develop.svn.wordpress.org/trunk@31402


git-svn-id: http://core.svn.wordpress.org/trunk@31383 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-10 05:45:28 +00:00
Sergey Biryukov
fdfd15aacc Use _n() in comments_popup_link() when setting the default string to display if there are more than one comment.
see #26553.
Built from https://develop.svn.wordpress.org/trunk@31401


git-svn-id: http://core.svn.wordpress.org/trunk@31382 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-10 02:51:28 +00:00
Sergey Biryukov
f166a51809 Update body class when switching between admin color schemes.
props valendesigns.
fixes #30488.
Built from https://develop.svn.wordpress.org/trunk@31400


git-svn-id: http://core.svn.wordpress.org/trunk@31381 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-10 02:23:28 +00:00
Sergey Biryukov
65e1a767c4 Set svn:eol-style for [31373].
see #28510.
Built from https://develop.svn.wordpress.org/trunk@31399


git-svn-id: http://core.svn.wordpress.org/trunk@31380 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-10 02:13:28 +00:00
Scott Taylor
1235221921 Export the proper class in media/views/image-details.js
See #28510.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31374 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-09 23:46:28 +00:00
Boone Gorges
72f18cb067 Don't parse empty 'tax_input' keys in edit_post().
This fixes a bug introduced in [31359] where saving a tax_input that contained
only whitespace would result in a random tag being erroneously added to the
post.

See #30615.
Built from https://develop.svn.wordpress.org/trunk@31392


git-svn-id: http://core.svn.wordpress.org/trunk@31373 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-09 22:54:28 +00:00
Gary Pendergast
980668299c WPDB: When checking to see if we can use utf8mb4, we also need to make sure PHP's MySQL client library is capable of using utf8mb4.
See #21212


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


git-svn-id: http://core.svn.wordpress.org/trunk@31372 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-09 22:28:28 +00:00
John Blackbourn
93fced2d15 Revert [30696] pending further investigation.
See #31011, #13071

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


git-svn-id: http://core.svn.wordpress.org/trunk@31371 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-09 21:50:29 +00:00
Aaron Jorbin
c99149419d Add translator comments for new strings.
These strings were added in [31388].

Props ocean90.
Fixes 26553.


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


git-svn-id: http://core.svn.wordpress.org/trunk@31370 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-09 20:15:27 +00:00
Aaron Jorbin
4f08e9d383 Use screen reader text instead of a title attribute in comments_popup_link
To better understand screen reader text, check out https://make.wordpress.org/accessibility/2015/02/09/hiding-text-for-screen-readers-with-wordpress-core/

Screen Reader text improves the user experience for screen reader users. It provides additional context for links, document forms and other pieces of a page that may exist visually, but are lost when looking only at the html of a site.  This does change the output of comments_popup_link if you don't pass in values for $zero, $one, $more or $none. Theme authors can and should style <code>.screen-reader-text</code> in ways that are recommended in the above article to hide it visually.

Props joedolson
Fixes #26553




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


git-svn-id: http://core.svn.wordpress.org/trunk@31369 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-09 19:27:28 +00:00
Scott Taylor
586ff8676a After [31386], this needs to happen in audio-video.manifest.js.
See #31058.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31368 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-09 18:45:26 +00:00
Scott Taylor
afa3a03ff8 Avoid an IE8 JS error when removing a MediaElement player.
Props afercia.
Fixes #31058.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31367 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-09 18:43:27 +00:00
Scott Taylor
b191013198 Media JS files:
* In media manifests, ditch IIFEs and global injection, these get dynamically scoped via Browserify
* Remove the `debug` option from `browserify:media`
* Add `jshint:media` to `jshint:corejs`
* Add a trailing newline to all new module files

Props iseulde.
See #28510.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31366 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-09 16:01:29 +00:00
Dominik Schilling
941075c8ca Improve the Customize experience on mobile.
Before: https://make.wordpress.org/flow/2015/02/02/a-peek-at-the-customizer-on-an-iphone-6/
After: https://make.wordpress.org/flow/2015/02/03/vizrec-for-28784-improve-the-customize-experience-on-mobile-iphone-6-28784-diff-4-2-alpha-31325/

props celloexpressions.
see #28784.
Built from https://develop.svn.wordpress.org/trunk@31384


git-svn-id: http://core.svn.wordpress.org/trunk@31365 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-09 12:36:28 +00:00
Dion Hulse
502515974c Updates: Display plugin update rows even for plugins which are not hosted by WordPress.org or the HTTP request times out on.
See #29583.
Fixes #30767 for trunk.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31363 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-09 06:32:26 +00:00
Drew Jaynes
947d04f323 Improve return and parameter documentation for check_admin_referer(), check_ajax_referer(), and wp_verify_nonce().
Also update and clarify docsfor the `check_admin_referer` and `check_ajax_referer` hooks.

Props johnbillion, DrewAPicture.
Fixes #31055.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31362 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-09 04:57:27 +00:00
Scott Taylor
ef12a2cc8c Bind this at calltime instead of letting self spill down into closures.
See #28510.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31361 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-09 04:45:28 +00:00
Scott Taylor
308ae4c887 Make sure that media/views.js doesn't load Models that already exist in media/models.js.
See #28510.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31360 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-09 04:14:26 +00:00
Gary Pendergast
04a0e21734 WPDB: The mysqli_query() call in wpdb::set_charset() had the parameters the wrong way around.
Built from https://develop.svn.wordpress.org/trunk@31374


git-svn-id: http://core.svn.wordpress.org/trunk@31355 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-09 01:26:29 +00:00
Scott Taylor
d568679946 Split the media JS files into modules:
* Add a new folder in `wp-includes/js`, `media`
* Create manifest files for `views`, `models`, `grid`, and `audio-video`
* Make `browserify` an `npm` dependency
* Add Grunt tasks for `browserify` and `uglify:media` on `build` and `watch`
* Update the paths loaded for media files in `script-loader`
* All new files were created using `svn cp` from their original location

Please run `npm install`. While developing media JS, you must run `grunt watch`.

See #28510.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31354 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-09 00:43:50 +00:00
Gary Pendergast
66af41688c WPDB: Some character set tests were failing if DB_CHARSET was empty, or a non-utf8 character set.
Built from https://develop.svn.wordpress.org/trunk@31372


git-svn-id: http://core.svn.wordpress.org/trunk@31353 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-09 00:39:22 +00:00
Gary Pendergast
55742904c0 WPDB: When we're removing invalid text text from strings with multiple different character sets, wpdb::strip_invalid_text() wasn't correctly switching connection character sets.
Fixes #31262


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


git-svn-id: http://core.svn.wordpress.org/trunk@31352 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-09 00:34:25 +00:00
Dominik Schilling
3aea5f144b Customizer: Introduce an API to create WP_Customize_Settings for dynamically-created settings.
* Introduce WP_Customize_Manager::add_dynamic_settings() to register dynamically-created settings.
* Introduce `customize_dynamic_setting_args` filter to pass an array of args to a dynamic setting's constructor.
* Add unit tests for WP_Customize_Manager and WP_Customize_Widgets.
* See WP_Customize_Widgets as an example.

props westonruter.
fixes #30936.
Built from https://develop.svn.wordpress.org/trunk@31370


git-svn-id: http://core.svn.wordpress.org/trunk@31351 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-08 23:11:25 +00:00
Boone Gorges
17330354bc Add orderby=meta_value_num support to WP_User_Query.
Props tyxla, genkisan.
Fixes #27887.
Built from https://develop.svn.wordpress.org/trunk@31369


git-svn-id: http://core.svn.wordpress.org/trunk@31350 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-08 16:59:22 +00:00
Sergey Biryukov
623981c8d6 Use a positive wording for translations update notice.
props DrewAPicture, siobhan, netweb.
fixes #28199.
Built from https://develop.svn.wordpress.org/trunk@31368


git-svn-id: http://core.svn.wordpress.org/trunk@31349 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-08 04:09:22 +00:00
Boone Gorges
669fa39005 Late escaping in get_terms() and WP_Tax_Query.
Props vortfu, dd32.
Built from https://develop.svn.wordpress.org/trunk@31367


git-svn-id: http://core.svn.wordpress.org/trunk@31348 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-08 01:59:24 +00:00
Boone Gorges
90639872e8 In WP_Query::get_queried_object(), avoid PHP notices when is_tax is paired with an empty tax_query.
It's possible to have an empty `tax_query` and `is_tax=true` when the initial
query contains a taxonomy var (and is processed as such during
`WP_Query::parse_query()`) but the taxonomy var is unset during a 'parse_query'
callback. While this kind of behavior is not necessarily something we need to
support, we should continue to avoid PHP notices in such cases, as we did prior
to WP 4.1.

Fixes #31246.
Built from https://develop.svn.wordpress.org/trunk@31366


git-svn-id: http://core.svn.wordpress.org/trunk@31347 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-07 19:50:24 +00:00
Sergey Biryukov
09c1d34b96 Remove unnecessary array_shift() usage in get_terms() for better performance.
props bswatson, VolodymyrC.
fixes #31182.
Built from https://develop.svn.wordpress.org/trunk@31365


git-svn-id: http://core.svn.wordpress.org/trunk@31346 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-07 19:45:25 +00:00
Sergey Biryukov
137204b033 In _wp_menu_output(), $submenu_items is an array and should be initialized as such.
props ipm-frommen.
fixes #31257.
Built from https://develop.svn.wordpress.org/trunk@31364


git-svn-id: http://core.svn.wordpress.org/trunk@31345 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-07 17:57: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
Andrew Ozz
c8892dfaa2 TinyMCE: ensure the image toolbar stays visible when the image is much wider than the editor. Props iseulde, fixes #20696 for trunk.
Built from https://develop.svn.wordpress.org/trunk@31362


git-svn-id: http://core.svn.wordpress.org/trunk@31343 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-06 23:00:23 +00:00
Andrew Ozz
c765424ad5 Editor: prevent errors in editor-expand when the Text editor is not used. Props iseulde, fixes #31163.
Built from https://develop.svn.wordpress.org/trunk@31361


git-svn-id: http://core.svn.wordpress.org/trunk@31342 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-06 22:25:23 +00:00
Dominik Schilling
8fe95c9e65 Customizer: Add changelog entry for the 'default' parameter added in [31329].
props westonruter.
see #30988.
Built from https://develop.svn.wordpress.org/trunk@31360


git-svn-id: http://core.svn.wordpress.org/trunk@31341 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-06 21:14:24 +00:00
Boone Gorges
b9e661dcae Parse non-hierarchical tag input into term IDs before sending to wp_insert_post().
When editing a post, non-hierarchical taxonomy terms are sent as the
comma-separated list entered into the tax_input metabox. Passing these
values directly to `wp_update_post()` meant that they were interpreted as
term slugs rather than term names, causing mismatches when a typed string
matched the slug of one term and the name of a different term. We fix the
problem by preprocessing tax_input data sent from post.php, converting it to
unambiguous term_ids before saving.

Props boonebgorges, ArminBraun.
Fixes #30615.
Built from https://develop.svn.wordpress.org/trunk@31359


git-svn-id: http://core.svn.wordpress.org/trunk@31340 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-06 20:32:22 +00:00
Gary Pendergast
d7c6ac95bc Upgrades: wp_usermeta is a global table in multisite, so it should only be upgraded by the single site routines when we're not in a multisite install.
See #21212


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


git-svn-id: http://core.svn.wordpress.org/trunk@31339 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-06 13:41:22 +00:00