45 Commits

Author SHA1 Message Date
Drew Jaynes
b85d8ddbd8 Remove now-unnecessary vanity spacing of various hooks in wp-includes/query.php.
See #25514.


git-svn-id: https://develop.svn.wordpress.org/trunk@27211 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-20 17:58:42 +00:00
Drew Jaynes
efd0b5081e Inline documentation hooks in wp-includes/query.php.
Covers documentation for the various remaining query hooks, notably including but not limited to:
* `parse_query`
* `parse_tax_query`
* `pre_get_posts`
* `posts_results`
* `the_posts`
* `found_posts`
* `the_post`

Props dougwollison, DrewAPicture.
See #25514.



git-svn-id: https://develop.svn.wordpress.org/trunk@27210 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-20 17:53:33 +00:00
Drew Jaynes
3776fd7d5d Inline documentation for various SQL clause hooks in wp-includes/query.php.
Covers documentation for SQL clause hooks related to comment feeds, including:
* `comment_feed_join`
* `comment_feed_where`
* `comment_feed_groupby`
* `comment_feed_orderby`
* `comment_feed_limits`

Props dougwollison, DrewAPicture.
See #25514.



git-svn-id: https://develop.svn.wordpress.org/trunk@27208 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-20 17:45:19 +00:00
Drew Jaynes
5f068b8a11 Inline documentation for various SQL clause hooks in wp-includes/query.php.
Covers documentation for SQL clause hooks specified for use by caching plugins, including:
* `posts_selection`
* `posts_where_request`
* `posts_groupby_request`
* `posts_join_request`
* `posts_orderby_request`
* `posts_distinct_request`
* `posts_fields_request`
* `post_limits_request`
* `posts_clauses_request`

Props dougwollison, DrewAPicture.
See #25514.



git-svn-id: https://develop.svn.wordpress.org/trunk@27207 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-20 17:40:14 +00:00
Drew Jaynes
5fbf05a2cb Inline documentation for various SQL clause hooks in wp-includes/query.php.
Covers documentation for general SQL clause hooks, including:
* `posts_where`
* `posts_join`
* `posts_where_paged`
* `posts_groupby`
* `posts_join_paged`
* `posts_orderby`
* `posts_distinct`
* `post_limits`
* `posts_fields`
* `posts_clauses`

Props dougwollison, DrewAPicture.
See #25514.



git-svn-id: https://develop.svn.wordpress.org/trunk@27206 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-20 17:33:16 +00:00
Scott Taylor
b8e7bbb0f2 Fix an error in SQL generation when perm is set and an array is passed for post_status. Adds unit test.
Props oso96_2000.
Fixes #25523.



git-svn-id: https://develop.svn.wordpress.org/trunk@27067 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-02 07:35:54 +00:00
Scott Taylor
956aa1c8ab Fix imperceptible whitespace cruff from [27017].
git-svn-id: https://develop.svn.wordpress.org/trunk@27018 602fd350-edb4-49c9-b593-d223f7449a82
2014-01-22 22:34:49 +00:00
Scott Taylor
4725e85857 Fix a bit of whitespace from [27016].
git-svn-id: https://develop.svn.wordpress.org/trunk@27017 602fd350-edb4-49c9-b593-d223f7449a82
2014-01-22 22:33:28 +00:00
Scott Taylor
300cb7451e Let is_attachment() accept an $attachment parameter, similar to is_page() and is_single(). Adds Unit Tests for all 3.
Props alex-ye for the initial patch.
Fixes #24257.



git-svn-id: https://develop.svn.wordpress.org/trunk@27016 602fd350-edb4-49c9-b593-d223f7449a82
2014-01-22 22:30:36 +00:00
Sergey Biryukov
0938ef0815 Avoid a fatal error in wp_reset_postdata() if $wp_query global is not set.
see #26775 for trunk.

git-svn-id: https://develop.svn.wordpress.org/trunk@26932 602fd350-edb4-49c9-b593-d223f7449a82
2014-01-11 23:56:43 +00:00
Scott Taylor
f8338aa3c3 In WP_Query::get_queried_object(), move the check for $query['terms'] to a place where $query is actually set. This should be included if [26864] makes it into 3.8.1.
Props SergeyBiryukov.
See #26728, [26864], #26634, #26627.




git-svn-id: https://develop.svn.wordpress.org/trunk@26874 602fd350-edb4-49c9-b593-d223f7449a82
2013-12-27 19:29:39 +00:00
Scott Taylor
5cb2ad494e Fix a regression for get_queried_object() by checking for category_name when cat isn't set - mainly is_category() being true for Uncategorized or when queried object is accessed in pre_get_posts. Also check for $query['terms'] when trying to assign a term as the queried object when is_tax() is true. Adds a unit test. See [26007] for how I originally broke this while fixing a bigger issue.
Props Chouby, jeremyfelt.
Fixes #26634, #26627.



git-svn-id: https://develop.svn.wordpress.org/trunk@26864 602fd350-edb4-49c9-b593-d223f7449a82
2013-12-22 18:30:09 +00:00
Andrew Nacin
fdcf1f4c12 Revert [26012] for now, which had fixed using paged with offset in WP_Query but introduced side effects for those working around it.
see #18897.


git-svn-id: https://develop.svn.wordpress.org/trunk@26525 602fd350-edb4-49c9-b593-d223f7449a82
2013-12-02 16:25:54 +00:00
Scott Taylor
95a00fb920 Fix canonical redirection of cat as described in #15256 by rolling the cat query var into tax_query, instead of category__in / category__not_in. Top-level categories were only redirecting properly if they had no children.
All unit tests pass. Tests marked for #15256 are no longer skipped.

Fixes #15256.
Props dd32.



git-svn-id: https://develop.svn.wordpress.org/trunk@26090 602fd350-edb4-49c9-b593-d223f7449a82
2013-11-11 18:35:21 +00:00
Sergey Biryukov
a2aed7b119 Fix docblock formatting. fixes #25893.
git-svn-id: https://develop.svn.wordpress.org/trunk@26081 602fd350-edb4-49c9-b593-d223f7449a82
2013-11-11 13:31:19 +00:00
Sergey Biryukov
82878e0859 Add @return for WP_Query::parse_search(). props tivnet. fixes #25894.
git-svn-id: https://develop.svn.wordpress.org/trunk@26061 602fd350-edb4-49c9-b593-d223f7449a82
2013-11-09 16:04:02 +00:00
Sergey Biryukov
8a87a2345b Declare the variable before using it. props tivnet. fixes #25895 for trunk.
git-svn-id: https://develop.svn.wordpress.org/trunk@26060 602fd350-edb4-49c9-b593-d223f7449a82
2013-11-09 15:52:30 +00:00
Scott Taylor
d8f57f88ad Respect paged when offset is used in WP_Query. Adds unit tests.
Props coffee2code.
Fixes #18897.



git-svn-id: https://develop.svn.wordpress.org/trunk@26012 602fd350-edb4-49c9-b593-d223f7449a82
2013-11-05 01:34:44 +00:00
Scott Taylor
0923b7b93a Category and tag are typically checked before checking for a custom taxonomy. If the global query matches category or tag (even if it also has tax_query set), return category/tag as the queried object, instead of arbitrarily returning the first term in the tax_query stack (typically those added with 'pre_get_posts').
Real world example: http://www.emusic.com/17dots/topics/daily-download/ - "tag" page, regionalized for US-only content using `pre_get_posts` passing in the terms "US" and "ALL" for "region" (custom tax). All of the theme functions would output "ALL" as the term name. Even though it was a tag archive, the queried object was an arbitrary term from `tax_query`.

See [26006]. All unit tests pass.
Fixes #20767.




git-svn-id: https://develop.svn.wordpress.org/trunk@26007 602fd350-edb4-49c9-b593-d223f7449a82
2013-11-04 23:53:55 +00:00
Andrew Nacin
47c58004fe Query stopwords: Only eliminate single A-Z letters as search terms.
Stop trying to match any single letters that are not East Asian characters, as this requires PCRE with UTF-8 support; and because it doesn't actually work.

fixes #25709.


git-svn-id: https://develop.svn.wordpress.org/trunk@25954 602fd350-edb4-49c9-b593-d223f7449a82
2013-10-27 20:50:31 +00:00
Andrew Nacin
287e4db6f6 In search stopwords filtering, suppress possible PHP warnings when PCRE lacks UTF-8 support.
see #25709.


git-svn-id: https://develop.svn.wordpress.org/trunk@25932 602fd350-edb4-49c9-b593-d223f7449a82
2013-10-26 05:58:37 +00:00
Andrew Nacin
a75c4a56a8 Avoid notice with search feeds.
fixes #25677.


git-svn-id: https://develop.svn.wordpress.org/trunk@25889 602fd350-edb4-49c9-b593-d223f7449a82
2013-10-23 20:54:22 +00:00
Andrew Nacin
d3981e2793 Always apply the posts_search filter. Restores 3.6 behavior.
props SergeyBiryukov.
fixes #25664.


git-svn-id: https://develop.svn.wordpress.org/trunk@25867 602fd350-edb4-49c9-b593-d223f7449a82
2013-10-22 17:20:17 +00:00
Dominik Schilling (ocean90)
3f422038dd Move get_current_user_id() call out of if-block, see [25669].
props layotte.
fixes #25372.

git-svn-id: https://develop.svn.wordpress.org/trunk@25689 602fd350-edb4-49c9-b593-d223f7449a82
2013-10-03 13:35:12 +00:00
Dominik Schilling (ocean90)
6311fbbfdb Replace use of global $user_ID in favor of get_current_user_id(). fixes #25372.
git-svn-id: https://develop.svn.wordpress.org/trunk@25669 602fd350-edb4-49c9-b593-d223f7449a82
2013-10-02 21:09:52 +00:00
Andrew Nacin
dac3f63f9c Don't order feeds of search results by relevance.
Allow for orderby=relevance to explicitly request relevance.

fixes #7394.


git-svn-id: https://develop.svn.wordpress.org/trunk@25668 602fd350-edb4-49c9-b593-d223f7449a82
2013-10-02 21:04:36 +00:00
Scott Taylor
7918d5cd98 Make url_to_postid() work for custom post type URLs. Use get_post_types() and get_taxonomies() instead of directly accessing globals. Adds unit test.
Props faishal, for the globals fix.
Fixes #19744.



git-svn-id: https://develop.svn.wordpress.org/trunk@25659 602fd350-edb4-49c9-b593-d223f7449a82
2013-10-02 19:41:19 +00:00
Andrew Nacin
cff3bb14e6 Order search results by relevance, rather than by date.
The ordering logic is as follows:
 * Full sentence matches in post titles.
 * All search terms in post titles.
 * Any search terms in post titles.
 * Full sentence matches in post content.

Each section and any remaining posts are then sorted by date.

Introduces some filters:
 * wp_search_stopwords, to filter stop words ignored in WHERE.
 * posts_search_orderby, to filter the ORDER BY when ordering search results.

props azaozz, wonderboymusic.
fixes #7394.


git-svn-id: https://develop.svn.wordpress.org/trunk@25632 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-27 17:33:36 +00:00
Andrew Nacin
de89edd699 When is_main_query() is called during the pre_get_posts hook, issue _doing_it_wrong().
The is_main_query() WP_Query method should be used in these instances instead.
see #23329.


git-svn-id: https://develop.svn.wordpress.org/trunk@25605 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-24 17:09:56 +00:00
Andrew Nacin
13408ddcbd Introduce a reset_postdata() method on the WP_Query object, which wp_reset_postdata() now wraps.
props ericlewis.
fixes #24785.


git-svn-id: https://develop.svn.wordpress.org/trunk@25601 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-24 15:52:41 +00:00
Scott Taylor
e72ffa5d96 Move checks for post_type being an array inline. See [25291], [25292], #18614.
git-svn-id: https://develop.svn.wordpress.org/trunk@25312 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-10 03:01:10 +00:00
Scott Taylor
9ece28e545 Add an action at the end of WP_Query::parse_tax_query() called (wait for it...) parse_tax_query which will enable developers to alter $this->tax_query->queries before SQL is generated. pre_get_posts is too early for many scenarios.
git-svn-id: https://develop.svn.wordpress.org/trunk@25311 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-10 02:35:26 +00:00
Scott Taylor
48dc7e576b Ensure that the post type object is the queried object when a post type has been registered with has_archive => true. Ensure it is not stomped when decorated with tax_query. Adds unit tests.
Props nacin.
Fixes #18614.



git-svn-id: https://develop.svn.wordpress.org/trunk@25291 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-06 22:06:40 +00:00
Scott Taylor
22278ec6a9 Introduce wp_using_ext_object_cache() - mimic wp_suspend_cache_invalidation() and discourage direct access to $_wp_using_ext_object_cache, cleaning up importing of globals in functions and provides function to modify that global. Loads the packaged object cache when an external cache hasn't been loaded or doesn't contain wp_cache_init().
Fixes #21401.



git-svn-id: https://develop.svn.wordpress.org/trunk@25289 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-06 18:09:24 +00:00
Scott Taylor
0474a18863 Allow is_tag() to accept term_id, slug, 'term_name or array of any. Many other is_*()` funcs already do this. Adds unit tests.
Props ramiy.
Fixes #18746.



git-svn-id: https://develop.svn.wordpress.org/trunk@25287 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-06 17:26:04 +00:00
Scott Taylor
09b9c44de9 Check bad dates and redirect, instead of 404ing, as necessary and appropriate.
Adds query, conditional, and canonical Unit Tests.

Props kovshenin, SergeyBiryukov, DrewAPicture.
Fixes #10935.



git-svn-id: https://develop.svn.wordpress.org/trunk@25280 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-06 16:35:22 +00:00
Scott Taylor
a73d205ab8 Move get_meta_type() into the WP_Meta_Query class as get_cast_for_type(). WP_Query can then access it like: $this->meta_query->get_cast_for_type().
See #21621, [25255].



git-svn-id: https://develop.svn.wordpress.org/trunk@25269 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-05 23:31:28 +00:00
Scott Taylor
83d1992d34 When meta_type is passed with orderby => meta_value, orderby must also use CAST() to avoid scenarios like: SELECTing by UNSIGNED and then ordering by CHAR. Adds unit test.
Fixes #21621.


git-svn-id: https://develop.svn.wordpress.org/trunk@25255 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-05 16:56:36 +00:00
Scott Taylor
57b1d5ab28 Introduce author__in and author__not_in query vars. Fixes issue with multiple author exclusion when comma-separated string is passed for author. Adds a bunch of missing unit tests.
Props pollett for initial patch.
Fixes #16854.



git-svn-id: https://develop.svn.wordpress.org/trunk@25248 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-04 21:32:11 +00:00
Scott Taylor
24bf60bb4f Kill the query in the following edge case: post_type => 'any' but exclude_from_search => false returns no valid post types. Adds unit tests.
Props mitchoyoshitaka.
Fixes #19198.



git-svn-id: https://develop.svn.wordpress.org/trunk@25239 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-04 18:50:04 +00:00
Scott Taylor
0d0b17b617 Convert category__and to category__in (less expensive) and unset it when only one category is passed. Adds unit tests.
Fixes #24245.




git-svn-id: https://develop.svn.wordpress.org/trunk@25238 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-04 18:16:31 +00:00
Andrew Nacin
c637de7316 WP_Date_Query.
props Viper007Bond.
see #18694.


git-svn-id: https://develop.svn.wordpress.org/trunk@25139 602fd350-edb4-49c9-b593-d223f7449a82
2013-08-27 16:38:32 +00:00
Andrew Nacin
86f5f6ac78 Don't cast the 'm' query variable to an integer as the value can exceed the range of a 32-bit signed integer.
props Viper007Bond.
fixes #24884.


git-svn-id: https://develop.svn.wordpress.org/trunk@25138 602fd350-edb4-49c9-b593-d223f7449a82
2013-08-27 15:19:54 +00:00
Andrew Nacin
3f130cd103 Correct phpdoc for WP_Query::$post. props lgedeon, fixes #25130.
git-svn-id: https://develop.svn.wordpress.org/trunk@25110 602fd350-edb4-49c9-b593-d223f7449a82
2013-08-23 22:01:59 +00:00
Andrew Nacin
b43712e0f7 New develop.svn.wordpress.org repository based on the old core.svn repository.
* All WordPress files move to a src/ directory.
 * New task runner (Grunt), configured to copy a built WordPress to build/.
 * svn:ignore and .gitignore for Gruntfile.js, wp-config.php, and node.js.
 * Remove Akismet external from develop.svn. Still exists in core.svn.
 * Drop minified files from src/. The build process will now generate these.

props koop.
see #24976.

and see http://wp.me/p2AvED-1AI.



git-svn-id: https://develop.svn.wordpress.org/trunk@25001 602fd350-edb4-49c9-b593-d223f7449a82
2013-08-07 05:25:25 +00:00