Commit Graph

654 Commits

Author SHA1 Message Date
Aaron Jorbin 5ec9a2aeb4 Revert r36696
This broke embeds. Needs a better solution to also make sure all queries from the REST API aren't broken.

see #35907.



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


git-svn-id: http://core.svn.wordpress.org/trunk@36666 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-24 22:12:25 +00:00
Aaron Jorbin ae9e63805d Permit sticky posts to affect the query in REST_REQUEST
Needed for https://github.com/WP-API/WP-API/issues/2210

Props danielbachhuber.
Fixes #35907.


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


git-svn-id: http://core.svn.wordpress.org/trunk@36663 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-24 21:44:26 +00:00
Boone Gorges 6d8a3f3612 Query: Search should match `post_excerpt` in addition to title and content.
When ordering search results, exact matches in the post excerpt are weighted
above those in post content, but below those in the post title.

Props swissspidy, sebastian.pisula.
FIxes #35762.
Built from https://develop.svn.wordpress.org/trunk@36647


git-svn-id: http://core.svn.wordpress.org/trunk@36614 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-23 20:14:26 +00:00
Boone Gorges ba5cc4e776 Query: Allow a seed value to be passed when using 'rand' `$orderby`.
`WP_Query` allows random ordering; `'orderby' => 'rand'` translates to
`ORDER BY RAND()`. This syntax results in random ordering that is not
consistent from request to request. MySQL supports the passing of a seed value
to random sorts, such as `ORDER BY RAND(3)`, which will return the same
random value each time it's called. `WP_Query` now supports this syntax, by
passing `RAND(3)` (or whatever integer seed value you'd like) as the value
of `'orderby'`.

Props hlashbrooke.
Fixes #35692.
Built from https://develop.svn.wordpress.org/trunk@36632


git-svn-id: http://core.svn.wordpress.org/trunk@36599 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-23 16:40:26 +00:00
Boone Gorges 072c791df0 Query: `is_*( $int )` should not falsely match strings starting with "$int".
Another chapter in the Storied Annals of Weird `in_array()` Behavior:
`in_array( 4, array( "4-cool-dudes" ) );` resolves to `true`, such that
`is_page( 4 )` was returning true for posts with the name `'4-cool-dudes'`.

We work around this behavior by ensuring that values passed to the `is_`
methods are cast to strings before the `in_array()` checks. ID checks still
work as expected; see #24674.

Props mikejolley, swissspidy, boonebgorges.
Fixes #35902.
Built from https://develop.svn.wordpress.org/trunk@36625


git-svn-id: http://core.svn.wordpress.org/trunk@36592 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-23 02:21:25 +00:00
Boone Gorges 571e14f897 More performance improvements to metadata lazyloading.
Comment and term meta lazyloading for `WP_Query` loops, introduced in 4.4,
depended on filter callback methods belonging to `WP_Query` objects. This meant
storing `WP_Query` objects in the `$wp_filter` global (via `add_filter()`),
requiring that PHP retain the objects in memory, even when the local variables
would typically be expunged during normal garbage collection. In cases where a
large number of `WP_Query` objects were instantiated on a single pageload,
and/or where the contents of the `WP_Query` objects were quite large, serious
performance issues could result.

We skirt this problem by moving metadata lazyloading out of `WP_Query`. The
new `WP_Metadata_Lazyloader` class acts as a lazyload queue. Query instances
register items whose metadata should be lazyloaded - such as post terms, or
comments - and a `WP_Metadata_Lazyloader` method will intercept comment and
term meta requests to perform the cache priming. Since `WP_Metadata_Lazyloader`
instances are far smaller than `WP_Query` (containing only object IDs), and
clean up after themselves far better than the previous `WP_Query` methods (bp
only running their callbacks a single time for a given set of queued objects),
the resource use is decreased dramatically.

See [36525] for an earlier step in this direction.

Props lpawlik, stevegrunwell, boonebgorges.
Fixes #35816.
Built from https://develop.svn.wordpress.org/trunk@36566


git-svn-id: http://core.svn.wordpress.org/trunk@36533 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-17 22:58:26 +00:00
Boone Gorges 60cf073672 Improve `WP_Query` lazyloading logic, for better performance.
Lazyloading for comment meta and term meta, introduced into `WP_Query` in
4.4, used flags - `updated_term_meta_cache` and `updated_comment_meta_cache` -
in an attempt to prevent cache priming from happening more than once per query
object. This technique was mostly effective, but not entirely efficient, since
the flag didn't prevent the `lazyload_*_meta` callbacks from running. The
obvious solution - removing the filter callback after it'd be run once - was
dismissed for 4.4 because of concerns that `remove_filter()` could disable
lazyloading too generally in the context of nested queries, due to the way
`_wp_filter_build_unique_id()` doesn't always build sufficiently unique IDs for
similar objects. However, further testing shows that this concern is only valid
in a very small subset of cases, while the cost of keeping the query objects in
memory, via the `$wp_filter` global, is quite significant. As such, this
changeset removes the flags in favor of the `remove_filter()` technique.

See #35454, #35816.
Built from https://develop.svn.wordpress.org/trunk@36524


git-svn-id: http://core.svn.wordpress.org/trunk@36491 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-13 03:05:27 +00:00
Boone Gorges f1c0ed714a `WP_Query` taxonomy query vars should be set to first of multiple taxonomies.
This provides better parity with `get_queried_object()`, which will return the
first taxonomy/term matched by the current query.

[29891] introduced the abnormal behavior for the 'taxonomy' and 'term'
query vars.

Props Chouby.
Fixes #35619.
Built from https://develop.svn.wordpress.org/trunk@36484


git-svn-id: http://core.svn.wordpress.org/trunk@36451 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-06 03:58:27 +00:00
Boone Gorges e6d2b6cab0 Query: Respect 'suppress_filters' when filtering search-related SQL.
Props 5um17.
Fixes #35594.
Built from https://develop.svn.wordpress.org/trunk@36404


git-svn-id: http://core.svn.wordpress.org/trunk@36371 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-26 03:12:25 +00:00
Boone Gorges de89efc4dc Introduce `$comment_status` and `$ping_status` params for `WP_Query`.
Props birgire.
Fixes #35601.
Built from https://develop.svn.wordpress.org/trunk@36403


git-svn-id: http://core.svn.wordpress.org/trunk@36370 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-26 02:56:26 +00:00
Pascal Birchler b0b13aff2f Embeds: Allow embedding static front pages and pages having a child page with an `embed` slug.
This makes `embed` a special slug that can't be used for new pages/posts. When `https://example.com/foo/embed/` is an existing page, embeds fall back to `https://example.com/foo/?embed=true`.
Adds unit tests.

Fixes #34971.
Built from https://develop.svn.wordpress.org/trunk@36307


git-svn-id: http://core.svn.wordpress.org/trunk@36274 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-15 07:56:26 +00:00
Boone Gorges 2d74b18bea Support searching for `'0'` in `WP_Query`.
Props swissspidy.
See #31025.
Built from https://develop.svn.wordpress.org/trunk@36278


git-svn-id: http://core.svn.wordpress.org/trunk@36245 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-13 04:37:25 +00:00
Boone Gorges cfae56d2c2 Avoid invalid SQL when building ORDER BY clause using long search strings.
The introduction of negative search terms in 4.4 [34934] introduced the
possibility that the ORDER BY clause of a search query could be assembled in
such a way as to create invalid syntax. The current changeset fixes this by
ensuring that the ORDER BY clause corresponding to the search terms is
excluded when it would otherwise be empty.

Props salvoaranzulla.
Fixes #35361.
Built from https://develop.svn.wordpress.org/trunk@36251


git-svn-id: http://core.svn.wordpress.org/trunk@36218 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-10 03:26:26 +00:00
Rachel Baker 4aa970e0e8 Feeds: Comments on attachments display in the site-wide comments RSS feed.
Individual attachment pages already have their own RSS comment feed, and would be expected to be included in the site-wide comments RSS feed.

Props jbrinley. 
Fixes #15610


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


git-svn-id: http://core.svn.wordpress.org/trunk@36104 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-12-31 17:16:27 +00:00
Gary Pendergast b23280fe49 Redirects: Prevent redirects if a queried object exists.
After [34659], it became possible to cause an incorrect redirect, by changing the slug of a post, then creating a new post with the old slug. The correct behaviour is to prevent redirecting to the old post.

Props dd32, pento.

Fixes #35031 for trunk.


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


git-svn-id: http://core.svn.wordpress.org/trunk@36094 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-12-31 03:01:29 +00:00
Sergey Biryukov d160543282 Query: Remove a stray debug line from `WP_Query::get_posts()`.
Props dlh.
Fixes #35271.
Built from https://develop.svn.wordpress.org/trunk@36127


git-svn-id: http://core.svn.wordpress.org/trunk@36093 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-12-31 02:23:30 +00:00
John Blackbourn 0003a004db Docs: Miscellaneous docblock code quality tweaks.
See #32246

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


git-svn-id: http://core.svn.wordpress.org/trunk@36039 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-12-23 07:53:26 +00:00
Drew Jaynes 3cba9d7f61 Docs: Add missing parameter descriptions to the DocBlock for `WP_Query::set_found_posts()`.
See #32246.

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


git-svn-id: http://core.svn.wordpress.org/trunk@35933 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-12-16 18:11:26 +00:00
John Blackbourn b2e373d64d Correct the name of the `@param` doc for `WP_Query::parse_tax_query()`.
See #32246

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


git-svn-id: http://core.svn.wordpress.org/trunk@35872 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-12-14 02:08:26 +00:00
John Blackbourn a027edc277 Comments: The year is 2003. Permalinks are a new thing and everyone's using Blogger. It's a time when opening a modal window in JavaScript to view a section of a website is not a completely weird thing, although many users get annoyed by it. b2 has recently become WordPress, and with it comes a bunch of functionality that will become stale over the next decade, remnants of simpler times.
Twelve years later, after no fewer than three themes have intentionally implemented popup comments in their functionality, before being abandoned for at least the last six years, we've reached a time where we can put this era behind us. A time when we can remove comment popup functionality from WordPress.

If this breaks the internet, I'll eat my hat.

Fixes #28617

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


git-svn-id: http://core.svn.wordpress.org/trunk@35812 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-12-10 03:06:30 +00:00
Boone Gorges 31219ee677 In `WP_Query`, set `is_home` to `false` during REST requests.
Props danielbachhuber.
Fixes #34373.
Built from https://develop.svn.wordpress.org/trunk@35690


git-svn-id: http://core.svn.wordpress.org/trunk@35654 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-11-18 21:18:26 +00:00
Scott Taylor af0282891d Rewrite: alleviate conflicts between image attachment pages and posts when permalink structure is `/%postname%/`.
Adds unit test.

Props SergeyBiryukov.
Fixes #24612.

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


git-svn-id: http://core.svn.wordpress.org/trunk@35643 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-11-18 19:59:25 +00:00
Drew Jaynes 7771205935 Query: Introduce the `content_pagination` filter, which makes it possible to manipulate how post content is split into "pages" in `WP_Query::setup_postdata()`.
The "pages" — or chunks of post content – are determined by splitting based on the presence of `<!-- nextpage -->` tags in the post content.

Props sirzooro, chriscct7.
Fixes #9911.

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


git-svn-id: http://core.svn.wordpress.org/trunk@35251 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-20 06:33:27 +00:00
Drew Jaynes 217b661703 Docs: Add missing descriptions for the `$wpdb` global in DocBlocks all the places.
See #32246.

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


git-svn-id: http://core.svn.wordpress.org/trunk@35136 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-14 23:44:25 +00:00
Boone Gorges 07b7e7b3c7 Remove dead code from `WP_Query::lazyload_term_meta()`.
Built from https://develop.svn.wordpress.org/trunk@35111


git-svn-id: http://core.svn.wordpress.org/trunk@35076 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-13 02:36:25 +00:00
John Blackbourn 2dd5ad6327 Correct the `@since` doc for `WP_Query::is_embed()`.
See #32522

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


git-svn-id: http://core.svn.wordpress.org/trunk@35049 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-12 22:13:25 +00:00
Boone Gorges c2a0d593ac Allow excluded keywords when searching posts.
Pass a keyword with a leading hyphen to exclude posts containing that keyword.
For example, 'taco -onions' will return posts that contain the word 'taco' but
do not contain the word 'onions'.

Props akibjorklund.
Fixes #33988.
Built from https://develop.svn.wordpress.org/trunk@34934


git-svn-id: http://core.svn.wordpress.org/trunk@34899 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-08 03:18:24 +00:00
Gary Pendergast 83c3e3e00e Embeds: Add oEmbed provider support.
For the past 6 years, WordPress has operated as an oEmbed consumer, allowing users to easily embed content from other sites. By adding oEmbed provider support, this allows any oEmbed consumer to embed posts from WordPress sites.

In addition to creating an oEmbed provider, WordPress' oEmbed consumer code has been enhanced to work with any site that provides oEmbed data (as long as it matches some strict security rules), and provides a preview from within the post editor.

For security, embeds appear within a sandboxed iframe - the iframe content is a template that can be styled or replaced entirely by the theme on the provider site.

Props swissspidy, pento, melchoyce, netweb, pfefferle, johnbillion, extendwings, davidbinda, danielbachhuber, SergeyBiryukov, afercia

Fixes #32522.


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


git-svn-id: http://core.svn.wordpress.org/trunk@34868 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-07 10:36:25 +00:00
John Blackbourn ab413e89bf Include `post__in` as a value available to the `orderby` parameter in the docs for `WP_Query::parse_query()`.
See #32246

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


git-svn-id: http://core.svn.wordpress.org/trunk@34801 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-05 20:58:29 +00:00
Boone Gorges f6b2797bd3 Remove `search_terms` from `WP_Query` doc block.
It's not actually a query param.

Introduced in [28887].
Built from https://develop.svn.wordpress.org/trunk@34795


git-svn-id: http://core.svn.wordpress.org/trunk@34760 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-03 04:36:27 +00:00
Boone Gorges 51ddf2ca9c Correct some `WP_Query` metadata lazyloading docs.
Props dlh.
Fixes #34047.
Built from https://develop.svn.wordpress.org/trunk@34732


git-svn-id: http://core.svn.wordpress.org/trunk@34696 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-01 04:01:48 +00:00
Boone Gorges 80654eb17a s/`add_action()`/`add_filter()` in `WP_Query` metadata lazyloading.
Props dlh.
See #34047.
Built from https://develop.svn.wordpress.org/trunk@34731


git-svn-id: http://core.svn.wordpress.org/trunk@34695 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-01 04:01:24 +00:00
Boone Gorges 654eeb3785 Improve lazyloading of comment meta in `WP_Query` loops.
Lazy-loading logic is moved to a method on `WP_Query`. This makes it possible
for comment feeds to take advantage of metadata lazyloading, in addition to
comments loaded via `comments_template()`.

This new technique parallels the termmeta lazyloading technique introduced in
[34704].

Fixes #34047.
Built from https://develop.svn.wordpress.org/trunk@34711


git-svn-id: http://core.svn.wordpress.org/trunk@34675 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-30 01:35:26 +00:00
Boone Gorges db880777f4 Improve lazyloading of term metadata in `WP_Query` loops.
[34529] introduced lazyloading for the metadata belonging to terms matching
posts in the main `WP_Query`. The current changeset improves this technique
in the following ways:

* Term meta lazyloading is now performed on the results of all `WP_Query` queries, not just the main query.
* Fewer global variable touches and greater encapsulation.
* The logic for looping through posts to identify terms is now only performed once per `WP_Query`.

Props dlh, boonebgorges.
See #34047.
Built from https://develop.svn.wordpress.org/trunk@34704


git-svn-id: http://core.svn.wordpress.org/trunk@34668 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-29 22:00:24 +00:00
Boone Gorges c36d4fb8a9 `WP_Query` should not ignore an offset of `0`.
Props mazurstas.
Fixes #34060.
Built from https://develop.svn.wordpress.org/trunk@34697


git-svn-id: http://core.svn.wordpress.org/trunk@34661 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-29 19:37:23 +00:00
Gary Pendergast cf173408cd Permalinks: Add pretty permalinks for unattached attachments.
Previously, unattached attachments would have unsightly `/?attachment_id=1` URLs. As we've moved away from attachments being specifically attached to posts, instead being Media items, this has made the unattached URLs a more common occurrence.

We can breath easy once more, knowing that the world is a little bit safer from the horror of unnecessarily ugly URLs.

Props SergeyBiryukov, wonderboymusic, pento.

Fixes #1914.


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


git-svn-id: http://core.svn.wordpress.org/trunk@34654 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-29 09:42:26 +00:00
Gary Pendergast 1db89dd3bf Rewrite: Redirect attachment URLs when their slug changes.
Using the same logic that we use to redirect posts when their slug changes, we can provide the same functionality for attachments. Attachment pages are posts, too.

Props swissspdy.

Fixes #34043.


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


git-svn-id: http://core.svn.wordpress.org/trunk@34649 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-29 04:58:25 +00:00
Gary Pendergast 635d3bb34e Rewrite: When redirecting old slugs, include URL endpoints.
Historically, `wp_old_slug_redirect()` has only ever redirected the old slug of posts, it hasn't included URL endpoints, or worked with comment feed URLs. By adding support for these, we ensure a greater range of URLs aren't killed when the slug changes.

Props swissspdy.

Fixes #33920.


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


git-svn-id: http://core.svn.wordpress.org/trunk@34623 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-28 06:57:26 +00:00
Drew Jaynes b818747870 Docs: Add more explicit optional parameter types and return descriptions in the DocBlocks for `is_page()`, `is_single()`, `is_singular()`.
Also adds explicit types and return descriptions to the corresponding `WP_Query` methods: `WP_Query::is_page()`, `WP_Query::is_single()`, and `WP_Query::is_singular()`.

Props Shelob9 for the initial patch.
Fixes #33907.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34466 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-24 16:18:24 +00:00
Scott Taylor e19e604a74 Docs: `is_main_query()`'s `_doing_it_wrong()` notice suggests using `WP_Query` statically (`WP_Query::is_main_query()`). Use an alternate syntax: `WP_Query->is_main_query()`, to not confuse.
Props DrewAPicture, micahwave.
Fixes #25680.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34330 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-21 15:31:26 +00:00
Scott Taylor cb54b8d5a7 WP Query: Avoid using HTML tags in translation strings, add translator strings.
Props ramiy.	
Fixes #31868.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34309 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-20 03:04:24 +00:00
Drew Jaynes f93dcf9226 Docs: Add descriptions for `$wp_query` global phpDoc references in wp-includes/query.php, partially documented in [32620].
Fixes #32139.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34301 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-20 00:05:26 +00:00
Drew Jaynes d870f4c9f9 Docs: Fix some syntactical issues in the DocBlock for `set_query_var()`.
Adds descriptions for the global `WP_Query` instance and the `$value` parameter.

See #32246.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34251 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-18 10:29:25 +00:00
Drew Jaynes 18adeb92fa Docs: Fix some syntactical issues in the documentation for `get_queried_object_id()`.
Adds descriptions for the global `WP_Query` instance and the return.

See #32246.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34250 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-18 10:27:24 +00:00
Drew Jaynes 7a73dfbfb6 Docs: Fix some syntactical isses in the DocBlock for `get_queried_object()`.
Also add descriptions for the return and the `WP_Query` global.

See #32246.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34249 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-18 10:21:26 +00:00
Drew Jaynes 05f4e52541 Docs: Add documentation to `get_query_var()` and `WP_Query::get()` for the optional `$default` argument, introduced in 3.9 in [27304].
Props swissspidy.
Fixes #33856.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34248 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-18 09:41:27 +00:00
Scott Taylor af593128a7 Revert [33925], by-reference array manipulation is breaking comments in some themes.
This implementation is losing its shine.

See #16894.

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


git-svn-id: http://core.svn.wordpress.org/trunk@34209 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-16 18:14:25 +00:00
Boone Gorges c0a0d4ba50 Use stricter sanitization for meta query clause keys.
By forcing all clause keys to be strings, we make it possible to use strict
comparison when validating values of 'orderby' as passed to `WP_Query`. This
eliminates situations where the presence of numeric clause keys could result
in an improperly validated 'orderby' value.

Props nikolov.tmw.
Fixes #32937.
Built from https://develop.svn.wordpress.org/trunk@34090


git-svn-id: http://core.svn.wordpress.org/trunk@34058 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-12 21:06:24 +00:00
Boone Gorges fc884dc7ec Allow `setup_postdata()` to accept a post ID.
Previously, it accepted only a full post object.

Props sc0ttclark, mordauk, wonderboymusic.
Fixes #30970.
Built from https://develop.svn.wordpress.org/trunk@34089


git-svn-id: http://core.svn.wordpress.org/trunk@34057 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-12 20:58:23 +00:00
Boone Gorges 1a203b5328 Better default values in `WP_Query::get_queried_object()`.
Setting the default value of the `queried_object_id` property to `0` meant
that, when called early enough in the WP bootstrap, `get_queried_object()`
could short-circuit the normal query by fooling it into thinking that the
request was for a page with id 0. Setting the default value to `null` instead
avoids this problem.

Props gradyetc, jazbek.
Fixes #31355.
Built from https://develop.svn.wordpress.org/trunk@34073


git-svn-id: http://core.svn.wordpress.org/trunk@34041 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-12 03:37:23 +00:00