Not only does this pass contrast guidelines, but it also visually appears closer to the original highlight blue used against light backgrounds.
props melchoyce. fixes#30323.
git-svn-id: https://develop.svn.wordpress.org/trunk@30313 602fd350-edb4-49c9-b593-d223f7449a82
`WP_Customize_Upload_Control` (PHP) and `api.UploadControl` (JS) can now open the media modal.
props celloexpressions, and ericlewis for docs.
see #21483.
git-svn-id: https://develop.svn.wordpress.org/trunk@30309 602fd350-edb4-49c9-b593-d223f7449a82
Widget controls are now added to the pane dynamically via JavaScript, see #28709.
Remove the event trigger from `SidebarControl.addWidget()` as it's covered by `WidgetControl.ready()`.
props westonruter.
fixes#30236.
git-svn-id: https://develop.svn.wordpress.org/trunk@30308 602fd350-edb4-49c9-b593-d223f7449a82
jQuery does nothing when calling `slideUp` on elements that are not inserted into the DOM yet, which can now be the case now when first loading the Customizer as the panels, sections and controls get dynamically inserted, see #28709.
props westonruter.
fixes#30251.
git-svn-id: https://develop.svn.wordpress.org/trunk@30307 602fd350-edb4-49c9-b593-d223f7449a82
* Don't create an extra variable for the string when it's only used once.
* Avoid using `<code>` HTML tags inside of translatable string.
* Improve data types and escaping on sprintfed values.
Props dd32.
Fixes#25834.
git-svn-id: https://develop.svn.wordpress.org/trunk@30300 602fd350-edb4-49c9-b593-d223f7449a82
This change also allows stored procedures or queries made with `mysqli_multi_query()` to be flushed.
Includes unit tests.
Fixes#28155.
Props soulseekah.
git-svn-id: https://develop.svn.wordpress.org/trunk@30297 602fd350-edb4-49c9-b593-d223f7449a82
- Use the page visibility API (when available) and document.hasFocus() instead of window.onfocus/onblur. Improves speeding up/slowing down the interval and works for iframes by default.
- Add a setting for minimal interval. Maximum value is 10 min. This overrides all other intervals and cannot be changed after setting it at initialization. Can be used to reduce the frequency of requests on hosts that have low limits for used CPU time, etc.
- Extend the setting of interval to support 120 sec. (60 sec, is still the default).
- Always suspend after one hour of keyboard/mouse/touch inactivity.
Fixes#29779.
git-svn-id: https://develop.svn.wordpress.org/trunk@30293 602fd350-edb4-49c9-b593-d223f7449a82
* Variables in DocBlocks should be backtick-escaped
* Parameter and return types should be as specific as possible
* `@param` types and variables should align with each other, but not intentionally with the `@return` description
See #30230.
git-svn-id: https://develop.svn.wordpress.org/trunk@30284 602fd350-edb4-49c9-b593-d223f7449a82
Also updates the return types on `get_comments()` and `get_approved_comments()`, as an integer can also be returned if the `$count` argument is true.
Fixes#30111.
git-svn-id: https://develop.svn.wordpress.org/trunk@30281 602fd350-edb4-49c9-b593-d223f7449a82
We really should be doing this in all menus, at which point this becomes core or plugin functionality, not a theme feature.
Closes#30214.
git-svn-id: https://develop.svn.wordpress.org/trunk@30273 602fd350-edb4-49c9-b593-d223f7449a82
This forcing appears to have been introduced to save unnecessary queries, but
(a) in some cases it appeared to be causing *more* queries, and (b) it caused
incorrect results when the 'exclude_tree' param of `get_terms()` called
`get_terms()` on each item in the tree using the 'child_of' param.
Fixes#30275.
git-svn-id: https://develop.svn.wordpress.org/trunk@30265 602fd350-edb4-49c9-b593-d223f7449a82
Our call to `$wp_roles->_init()` relied on the `__call()` method in `WP_Roles` to handle the link to the protected method. This works back to PHP 5.2.9, when a bug was fixed allowing access to protected methods through this exact approach.
`install_blog()` needs a fresh `$wp_roles` object after `populate_roles()` resets everything in its path. We can create this new object from scratch, effectively doing the same thing with the call to `_init()` via the constructor.
Fixes#29692 for trunk.
git-svn-id: https://develop.svn.wordpress.org/trunk@30242 602fd350-edb4-49c9-b593-d223f7449a82
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.
Note that this term splitting only occurs on installations whose database
schemas have been upgraded to version 30133 or higher. Note also that shared
terms are only split when run through `wp_update_term()`, as on edit-tags.php;
we will wait until a future release of WordPress to force the splitting of all
shared taxonomy terms.
Props boonebgorges, rmccue, greuben, garyc40, wonderboymusic, imath, jesin.
Fixes#5809.
git-svn-id: https://develop.svn.wordpress.org/trunk@30241 602fd350-edb4-49c9-b593-d223f7449a82
A "shared" term occurs when two entries in the `wp_term_taxonomy` table share a
single `term_id`, and thereby correspond to the same row in `wp_terms`. This
changeset stops the practice of creating shared terms: each new row in
`wp_term_taxonomy` will receive its own row in `wp_terms`. The new strategy
for term creation depends on whether the installation's database schema is up
to date for 4.1:
* If so, terms are allowed to be created with the same slug as an existing term, as long as they are in different taxonomies and do not share a parent. Thus, a new tag with the slug 'wordpress' can exist alongside a category with the slug 'wordpress'.
* If not, new terms will be forced to have unique slugs. Thus, on an installation containing a category with the slug 'wordpress', a new tag 'WordPress' will get the slug 'wordpress-2'.
Fixes#21950. See #5809.
git-svn-id: https://develop.svn.wordpress.org/trunk@30240 602fd350-edb4-49c9-b593-d223f7449a82
In case of edge cases where a duplicate term might exist in a replicated
database for a split second, these explicit query clauses ensure that
`term_exists()` will always recognize the oldest matched term as the
canonical one. See [30238] for background.
Props pento.
See #22023, #5809.
git-svn-id: https://develop.svn.wordpress.org/trunk@30239 602fd350-edb4-49c9-b593-d223f7449a82
In [30056], the UNIQUE index was removed from the 'slug' column of `wp_terms`.
While we have numerous checks in place to avoid the creation of unwanted
duplicate term+term_taxonomy pairs, it's possible that in certain edge cases -
such as during the lag caused by database replication, or a race condition
involving near-simultaneous creation of more than one term - we'll end up
unwittingly inserting two identical rows.
The current changeset minimizes this risk by introducing a failsafe mechanism
into `wp_insert_term()`. After a term and term_taxonomy are INSERTed, we check
to see whether the term just created is a duplicate of an existing term; if so,
we delete the new one and keep the old one. This prevents problems caused by
replication lag, because SELECT queries that take place after an INSERT will
hit the master database; it mitigates race conditions by enforcing that the
term that was created first (ie, the one with the lowest `term_id`) is
always the "canonical" one.
Props nacin, markjaquith.
See #22023, #5809.
git-svn-id: https://develop.svn.wordpress.org/trunk@30238 602fd350-edb4-49c9-b593-d223f7449a82
Also define the default values for `$before` and `$after` in the template tag documentation.
See [30223]. See #21995.
git-svn-id: https://develop.svn.wordpress.org/trunk@30224 602fd350-edb4-49c9-b593-d223f7449a82
* `get_the_archive_title()` and `the_archive_title()` for returning/displaying the title of the current term, date, post type, post format, or author archive.
* `get_the_archive_description()` and `the_archive_description()` for returning/displaying the description associated with the current term archive.
Fixes#21995
Props obenland, DrewAPicture
git-svn-id: https://develop.svn.wordpress.org/trunk@30223 602fd350-edb4-49c9-b593-d223f7449a82
* In `the_taxonomies()`, only document those arguments that are specific to the function. Arguments shared with `get_the_taxonomies()` should be documented in the later function's docblock.
* Add $args hash documentation to `get_the_taxonomies()`.
* Remove the redundant default argument definition in `the_taxonomies()`.
Fixes#27238.
git-svn-id: https://develop.svn.wordpress.org/trunk@30210 602fd350-edb4-49c9-b593-d223f7449a82
This parameter allows theme and plugin authors to specify the formatting they
would like on the term links as they are parsed into the taxonomy list.
Props hereswhatidid, dlh, davidjlaietta.
See #27238.
git-svn-id: https://develop.svn.wordpress.org/trunk@30209 602fd350-edb4-49c9-b593-d223f7449a82
The previous `in_array()` check was playing too loose with mixed types, such
that a string like '10_term_name' would incorrectly match a term_id 10.
Props nobinobi, realloc.
Fixes#29467.
git-svn-id: https://develop.svn.wordpress.org/trunk@30205 602fd350-edb4-49c9-b593-d223f7449a82
* In `->process_default_headers()`, remove check on non-existent `$headers` property. Introduced in [13403].
* Declare `$updated` as a property.
See #30224.
git-svn-id: https://develop.svn.wordpress.org/trunk@30187 602fd350-edb4-49c9-b593-d223f7449a82
* declare `$scheme` as a property, it doesn't exist on the parent class
* declare `$error` as a property of type `IXR_Error`, instead of it being inferred as `boolean` from the parent class
See #30224.
git-svn-id: https://develop.svn.wordpress.org/trunk@30179 602fd350-edb4-49c9-b593-d223f7449a82
As it was never used as anything more than a callback to a filter before the MU merge, and is only available in user-new.php in multisite, it is safe to remove this function entirely.
Fixes#29915
git-svn-id: https://develop.svn.wordpress.org/trunk@30176 602fd350-edb4-49c9-b593-d223f7449a82
* initialize arrays in loops, instead of overriding an uninitialized array each time
* in `->blogger_getRecentPosts()` and `->mw_getRecentPosts()`, remove the extra loops by only setting one `array`
See #30224.
git-svn-id: https://develop.svn.wordpress.org/trunk@30153 602fd350-edb4-49c9-b593-d223f7449a82
It's necessary for hook docs to directly precede hook lines so the parser can correctly match them up. This change relocates hook docs for `update_{$meta_type}_meta`, `update_postmeta`, `updated_{$meta_type}_meta`, and `updated_postmeta`.
Fixes#11683.
git-svn-id: https://develop.svn.wordpress.org/trunk@30149 602fd350-edb4-49c9-b593-d223f7449a82
The initial `dayofweek` param sets day 1 to Sunday. This is out of step with
ISO standards, which calls Monday day 1. To maintain backward compatibility
with the existing parameter, we introduce the new `dayofweek_iso` for the
new, more compliant param.
Props mboynes.
Fixes#28063.
git-svn-id: https://develop.svn.wordpress.org/trunk@30142 602fd350-edb4-49c9-b593-d223f7449a82
Being explicit about resource type (taxonomy vs post_type) allows for the
proper resolution of conflicts when a taxonomy and post_type share a slug.
Props filosofo.
Fixes#15029.
git-svn-id: https://develop.svn.wordpress.org/trunk@30141 602fd350-edb4-49c9-b593-d223f7449a82
The index must be manually dropped before `dbDelta()` can add the new index
without throwing a notice.
Fixes#22023.
git-svn-id: https://develop.svn.wordpress.org/trunk@30134 602fd350-edb4-49c9-b593-d223f7449a82
* Only pass in global settings on `init`, this allows the classes to be used agnostically elsewhere
* Clean up some erroneous/weird Backbone syntax
Props ericlewis, wonderboymusic.
Fixes#30219.
git-svn-id: https://develop.svn.wordpress.org/trunk@30131 602fd350-edb4-49c9-b593-d223f7449a82
Update Twenty Fifteen's `colorScheme` control to properly interact with the API, using `wp.customize.control()` instead of traversing DOM for other controls' container elements and stop manually updating color control UIs.
props westonruter.
fixes#30031.
git-svn-id: https://develop.svn.wordpress.org/trunk@30126 602fd350-edb4-49c9-b593-d223f7449a82
Also updates the `$args` parameter description with a reference to see `WP_Comment_Query` for argument information.
See #12668.
git-svn-id: https://develop.svn.wordpress.org/trunk@30109 602fd350-edb4-49c9-b593-d223f7449a82
* Fix cache key/group modification that was missed in [30073].
* Update unit tests to reflect new key/group format.
Props tollmanz.
Fixes#21760.
git-svn-id: https://develop.svn.wordpress.org/trunk@30108 602fd350-edb4-49c9-b593-d223f7449a82
The previous behavior resulted in descendant terms being improperly excluded
from the results when passing a 'parent', even when 'hierarchical' had been
set to true.
The patch also adds unit tests that demonstrate the various interactions
between the 'child_of', 'parent', and 'hierarchical' parameters of `get_terms()`.
Props landakram.
Fixes#29815.
git-svn-id: https://develop.svn.wordpress.org/trunk@30107 602fd350-edb4-49c9-b593-d223f7449a82
Per our inline documentation standards, no further use of the `@uses` tag is recommended as used and used-by relationships can be derived through other means. This removes most uses of the tag in core documentation, with remaining tags to be converted to `@global` or `@see` as they apply.
Fixes#30191.
git-svn-id: https://develop.svn.wordpress.org/trunk@30105 602fd350-edb4-49c9-b593-d223f7449a82
* Convert slash to dash too.
* Add sub-folder name as a separate body class.
* New classes are additional classes, old syntax will persists for BC.
With this `/page-templates/full-width.php` will produce `page-template`, `page-template-page-templates`, `page-template-full-width` and `page-template-page-templatesfull-width-php`.
props obenland, Caspie, donutz.
fixes#23470.
git-svn-id: https://develop.svn.wordpress.org/trunk@30100 602fd350-edb4-49c9-b593-d223f7449a82
* Add support for an array of values in 'type'.
* Introduce `type__in` parameter. This duplicates 'type' but is added for better consistency with other query classes.
* Introduce `type__not_in`.
Among other things, these changes will make it easier for plugin authors to
manage the appearance of custom comment types in various WP interfaces.
Props dancameron, mordauk.
See #12668.
git-svn-id: https://develop.svn.wordpress.org/trunk@30096 602fd350-edb4-49c9-b593-d223f7449a82
If a user query includes a meta query together with a role argument,
nest the original meta query and append the role meta query with an
AND relationship.
fixes#23849, #27026.
git-svn-id: https://develop.svn.wordpress.org/trunk@30094 602fd350-edb4-49c9-b593-d223f7449a82
The changes in [30084] broke backward compatibility with interfaces that
manually passed an empty string for the value of 'status', such as on
wp-admin/edit-comments.php.
Fixes#29612.
git-svn-id: https://develop.svn.wordpress.org/trunk@30093 602fd350-edb4-49c9-b593-d223f7449a82
* `wp_save_post_revision_post_has_changed` filter which can be used to determine if a post has been changed, and therefore if a revision should be created for a post.
* `wp_get_revision_ui_diff` filter which can be used to filter the fields displayed in the post revision diff UI.
* `wp_creating_autosave` action which is fired just before an autosave is created.
See #20564.
Props mattheu, adamsilverstein.
git-svn-id: https://develop.svn.wordpress.org/trunk@30091 602fd350-edb4-49c9-b593-d223f7449a82
`setup_postdata()` is responsible for setting a number of global variables
that are used for post pagination (`$pages`, `$page`, `$nextpage`) and the
generation of post excerpts (`$more`). These variables should be sensitive to
the currently running instance of `WP_Query` - rather than the main query -
so that these features work properly inside of secondary `WP_Query` loops.
This changeset moves the logic of `setup_postdata()` into a method on `WP_Query`,
and converts `setup_postdata()` to a wrapper.
Props boonebgorges, wonderboymusic.
See #25349.
Fixes#9256, #20904.
git-svn-id: https://develop.svn.wordpress.org/trunk@30085 602fd350-edb4-49c9-b593-d223f7449a82
This change required turning the SQL concatenation into the generation of an
array, for greater flexibility.
Props karpstrucking, ebinnion.
Fixes#29612.
git-svn-id: https://develop.svn.wordpress.org/trunk@30084 602fd350-edb4-49c9-b593-d223f7449a82
`$test_uploaded_file` lets is know if `$file['tmp_name']` exists, which allows to exit with an error, instead of continuing to attempt to move the file.
`$test_upload` override is now a noop.
Fixes#28208.
git-svn-id: https://develop.svn.wordpress.org/trunk@30076 602fd350-edb4-49c9-b593-d223f7449a82
* `JSON_PRETTY_PRINT` was introduced in PHP 5.4
* Now you can use it with lower PHP versions, without a notice
fixes#30139
see #28786
git-svn-id: https://develop.svn.wordpress.org/trunk@30075 602fd350-edb4-49c9-b593-d223f7449a82
* Remove md5 hashes for term name cache keys
* Remove the namespace for the keys for `names` and `slugs` and add them to the group names
* Remove `wp_get_last_changed()`, which @nacin hated
Props tollmanz.
Fixes#21760.
git-svn-id: https://develop.svn.wordpress.org/trunk@30073 602fd350-edb4-49c9-b593-d223f7449a82
A first step to establish concepts around trusted and untrusted networks.
* Will always return false as default.
* Will one day have a filter.
Fixes#30145
git-svn-id: https://develop.svn.wordpress.org/trunk@30071 602fd350-edb4-49c9-b593-d223f7449a82
`sanitize_sql_orderby()` expects a comma to be present when multiple `orderby` values were passed. The correct syntax for multiple fields is space-delimited. Since [29027], comma-separated values would never be parsed correctly when passed to `WP_Query->parse_orderby()`.
`sanitize_sql_orderby()` is used nowhere else in core, save for the `playlist` shortcode - I only added it there because I was mimic'ing the `gallery` logic. The function call can be removed from both shortcode handlers.
See #6476.
Fixes#23873.
git-svn-id: https://develop.svn.wordpress.org/trunk@30068 602fd350-edb4-49c9-b593-d223f7449a82
* `get_the_post_navigation()` and `the_post_navigation()` for navigation to the next and previous post.
* `get_the_posts_navigation() and `the_posts_navigation()` for navigation to the next and previous page of posts.
* `get_the_pagination()` and `the_pagination()` for paginated navigation between pages of posts. Uses `paginate_links()`.
This reduces the need for themes to define their own sets of navigation functions.
Fixes#29808.
Props obenland.
git-svn-id: https://develop.svn.wordpress.org/trunk@30065 602fd350-edb4-49c9-b593-d223f7449a82
Each slug is a unique and beautiful snowflake, but let's enforce that
uniqueness elsewhere.
Props hotchkissconsulting.
Fixes#22023.
git-svn-id: https://develop.svn.wordpress.org/trunk@30056 602fd350-edb4-49c9-b593-d223f7449a82