Commit Graph

175 Commits

Author SHA1 Message Date
Boone Gorges
ebac76facc When parsing what appears to be a date archive request, check for a post with a clashing permalink before resolving to the archive.
A URL like `example.com/2015/05/15/` generally resolves to the May 15, 2015 date
archive. But in certain cases, it could also be the permalink of a post with
the slug `'2015'`. When a conflict of this sort is detected, resolve to the post
instead of the archive.

URL conflicts of this sort should no longer occur for new posts; see [32647].

Props valendesigns, boonebgorges, Denis-de-Bernardy.
Fixes #5305.
Built from https://develop.svn.wordpress.org/trunk@32648


git-svn-id: http://core.svn.wordpress.org/trunk@32618 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-29 13:10:24 +00:00
Scott Taylor
274daa059a Add missing doc blocks to rewrite.php.
Clarify `@return` values where necessary.
`add_permastruct()` doesn't need to return.
`->using_index_permalinks()` and `->using_mod_rewrite_permalinks()` can just return their conditions, instead of if/else true/false.
`->mod_rewrite_rules()` and `->iis7_url_rewrite_rules()` don't need to set a variable that is immediately returned.
 
See #32444.

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


git-svn-id: http://core.svn.wordpress.org/trunk@32592 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-27 19:23:26 +00:00
Boone Gorges
317150ccbd Allow rewrite endpoints to be registered without also registering query vars.
Passing `false` to `add_rewrite_endpoint()` will now allow you to take
advantage of the rewrite API without thereby modifying the way that WP sets up
the main query from the request URI.

This new functionality allows developers to work around certain edge-case bugs,
such as when a proper endpoint request (such as `/test/1/`) would short-
circuit `is_home()` calculation when a static front page is set.

Props mordauk, boonebgorges.
Fixes #25143.
Built from https://develop.svn.wordpress.org/trunk@32293


git-svn-id: http://core.svn.wordpress.org/trunk@32264 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-24 16:38:28 +00:00
Sergey Biryukov
66e483d3e7 When shifting WP_Rewrite::flush_rules() to a later action if it was called too early, make sure to do a hard flush if requested.
props Denis-de-Bernardy, mordauk for initial patch.
fixes #30501.
Built from https://develop.svn.wordpress.org/trunk@31964


git-svn-id: http://core.svn.wordpress.org/trunk@31943 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-01 19:06:29 +00:00
Sergey Biryukov
612b9e8ffd Replace hardcoded usage of comment-page with the comment pagination base.
props johnbillion, SergeyBiryukov, webord.
fixes #18084.
Built from https://develop.svn.wordpress.org/trunk@31459


git-svn-id: http://core.svn.wordpress.org/trunk@31440 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-14 03:48:27 +00:00
Scott Taylor
0a511680f4 Adding a @return annotation to constructors is generally not recommended as a constructor does not have a meaningful return value. Constructors do not have meaningful return values, anything that is returned from here is discarded.
See #30799.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31107 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-10 06:54:23 +00:00
Sergey Biryukov
91297b7a30 If WP_Rewrite::flush_rules() is called on 'init' or earlier, wait until 'wp_loaded' before actually flushing the rules, to make sure all the rules registered on 'init' are included.
props joostdevalk.
see #30501.
Built from https://develop.svn.wordpress.org/trunk@31104


git-svn-id: http://core.svn.wordpress.org/trunk@31085 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-08 22:00:23 +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
e029005847 Access Modifiers:
* In `WP_Plugin_Install_List_Table`, use `public` instead of `var`
* In `WP_User`, `->data` is accessed directly on an instance if the constructor receives it: make it `public`
* In `WP_Locale`, every property is exported to a global and is already `public` via `var`, half of the properties are accessed directly already, make them all `public`
* In `WP_Rewrite`, several properties are accessed publicly in functions via the `$wp_rewrite` global, make those props `public`.
* In `WP_Rewrite`, the property `->comment_feed_structure` was misspelled as `->comments_feed_structure`

See #30799.

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


git-svn-id: http://core.svn.wordpress.org/trunk@31059 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-08 05:44:23 +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
Drew Jaynes
c4b9da857a Using let's properly in inline comments lets us move on to more pressing matters of inline documentation.
Props trepmal.
Fixes #30570.

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


git-svn-id: http://core.svn.wordpress.org/trunk@30693 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-02 04:43:22 +00:00
Scott Taylor
3752aa7ce8 Improve the @param docs for src/includes/rewrite.php.
See #30224.

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


git-svn-id: http://core.svn.wordpress.org/trunk@30659 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-30 22:25:23 +00:00
Drew Jaynes
bffe95d34c Docs Formatting: Backtick-escape inline code for all remaining dynamic hook docs in wp-includes/*.
Affects DocBlocks for the following hooks:
* `auth_post_meta_{$meta_key}`
* `term_links-$taxonomy`
* `customize_render_control_ . $this->id`
* `customize_render_panel_{$this->id}`
* `customize_render_section_{$this->id}`
* `customize_preview_{$this->id}`
* `customize_save_ . $this->id_data[ 'base' ]`
* `customize_update_ . $this->type`
* `customize_value_ . $this->id_data[ 'base' ]`
* `customize_sanitize_js_{$this->id}`
* `comment_form_field_{$name}`
* `comment_{$old_status}_to_{$new_status}`
* `comment_{$new_status}_{$comment->comment_type}`
* `extra_{$context}_headers`
* `get_template_part_{$slug}`
* `get_the_generator_{$type}`
* `get_{$adjacent}_post_join`
* `get_{$adjacent}_post_where`
* `get_{$adjacent}_post_sort`
* `{$adjacent}_post_rel_link`
* `{$adjacent}_post_link`
* `{$adjacent}_image_link`
* `blog_option_{$option}`
* `$permastructname . _rewrite_rules`
* `{$type}_template`
* `theme_mod_{$name}`
* `pre_set_theme_mod_$name`
* `current_theme_supports-{$feature}`
* `get_user_option_{$option}`
* `edit_user_{$field}`
* `pre_user_{$field}`
* `user_{$field}`

See #30552.

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


git-svn-id: http://core.svn.wordpress.org/trunk@30646 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-30 12:10:23 +00:00
Drew Jaynes
3b6c9519a8 Ensure inline code is markdown-escaped as such, HTML tags are removed from summaries, and that code snippets in descriptions are properly indented.
Affects DocBlocks for the following core elements:
* Backtick-escape HTML tags in several argument descriptions for `wp_link_pages()`
* Remove an HTML tag from the summary for `prepend_attachment()`
* Backtick-escape inline code in the description for `get_extended()`
* Backtick-escape inline code in the description for `get_post_type_labels()`
* Various markdown formatting in the description for `add_rewrite_endpoint()`
* Markdown-indent a code snippet in the file header for wp-includes/shortcodes.php
* Markdown-indent code snippets in the description for `add_shortcode()

Props rarst.
See #30473.

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


git-svn-id: http://core.svn.wordpress.org/trunk@30534 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-24 06:15:24 +00:00
Mark Jaquith
0d3b83551f Use HTTPS URLs for core.trac.wordpress.org
see #27115
Built from https://develop.svn.wordpress.org/trunk@29788


git-svn-id: http://core.svn.wordpress.org/trunk@29560 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-09-29 13:28:16 +00:00
Scott Taylor
affe27e5d1 WP_Query was only missing one access modifier.
Add access modifier (`public`) to applicable class methods/members of `WP_Rewrite`. I am not brave enough to set some of the `var`s to `private` without more testing.

See #27881, #22234.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28359 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-19 17:41:13 +00:00
Drew Jaynes
f52aefd02b Fix PHPDoc formatting for WP_Rewrite::add_endpoint().
See #27700.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27844 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-07 21:39:15 +00:00
Andrew Nacin
bc12ccf41b Rewrite: Use same delimiter in url_to_postid() we use in WP::parse_request().
props stevenkword.
fixes #23587. 

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


git-svn-id: http://core.svn.wordpress.org/trunk@27669 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-29 05:18:15 +00:00
Drew Jaynes
9b3c090d71 Fix a typo in the author_rewrite_rules hook doc.
Props kpdesign.
See #26095.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27198 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-02 02:50:14 +00:00
Drew Jaynes
df8be5ee43 Inline documentation for hooks in wp-includes/rewrite.php.
Props mboynes for the initial patch.
Fixes #26095.

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


git-svn-id: http://core.svn.wordpress.org/trunk@27193 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-01 09:31:15 +00:00
John Blackbourn
2739d652ef Allow rewrite endpoints to specify a query variable name. Fixes #20905.
Built from https://develop.svn.wordpress.org/trunk@27327


git-svn-id: http://core.svn.wordpress.org/trunk@27179 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-28 20:55:14 +00:00
Dion Hulse
7f1047ece1 Remove the experimental RSS.JS feed, and move it to a plugin for feature development. Unprops pento. See #25639
Built from https://develop.svn.wordpress.org/trunk@26644


git-svn-id: http://core.svn.wordpress.org/trunk@26534 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-04 22:24:10 +00:00
Andrew Nacin
c8bbc31c39 Add an experimental rssjs feed based on the experimental rss.js spec.
This is simply a JSON representation of the RSS 2.0 feed, accessible at /feed/rssjs/ anywhere.

props pento.
see #25639.

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


git-svn-id: http://core.svn.wordpress.org/trunk@26199 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-11-20 22:58:09 +00:00
Scott Taylor
e3d58a5b23 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.


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


git-svn-id: http://core.svn.wordpress.org/trunk@25576 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-02 19:42:09 +00:00
Andrew Nacin
205a4d583d Add documentation for the new flush_rewrite_rules_hard filter. fixes #23491.
Built from https://develop.svn.wordpress.org/trunk@25464


git-svn-id: http://core.svn.wordpress.org/trunk@25385 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-16 22:00:09 +00:00
Scott Taylor
2f267f6a2a Add filter flush_rewrite_rules_hard to give devs chance to prevent writing to file when hard-flushing rewrite rules.
Props jeremyfelt, nacin.
Fixes #23491.


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


git-svn-id: http://core.svn.wordpress.org/trunk@25290 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-10 22:19:09 +00:00
Scott Taylor
dd7a6d66af Only variables should be passed by reference.
Props Askapache.
Fixes #23032.


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


git-svn-id: http://core.svn.wordpress.org/trunk@25231 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-05 21:53:09 +00:00
Scott Taylor
d03b6f9df5 Avoids incorrect results when url_to_postid() checking is not strict enough. Adds a bunch of Unit Tests for `url_to_postid()', which is currently only tested lightly in some XML-RPC tests.
Props gcorne, gradyetc.
Fixes #20560.


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


git-svn-id: http://core.svn.wordpress.org/trunk@25226 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-05 17:29:13 +00:00
Jon Cave
b0f446b5ba Introduce a new endpoint mask for all archives, fixes #16303.
git-svn-id: http://core.svn.wordpress.org/trunk@24812 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-28 19:18:19 +00:00
Jon Cave
dffea4e020 Drop leading / by retrieving the inner subpattern when matching attachment endpoints.
Fixes #22619


git-svn-id: http://core.svn.wordpress.org/trunk@24809 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-28 19:02:08 +00:00
Andrew Nacin
17ddaa8de0 delete_user_setting() and remove_action() were getting called with too many args. props rlerdorf. see #24210.
git-svn-id: http://core.svn.wordpress.org/trunk@24125 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-04-29 13:25:15 +00:00
Andrew Nacin
bf4d00e320 Remove bogus pagination rules from the comments permastruct. (As in, comments/page/?([0-9]{1,})/?$.) props wonderboymusic, fixes #21138.
git-svn-id: http://core.svn.wordpress.org/trunk@23524 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-02-28 18:35:13 +00:00
Mark Jaquith
a24c40fb00 Consistently use $wp_rewrite->index instead of hardcoding "index.php".
props wonderboymusic. fixes #7337

git-svn-id: http://core.svn.wordpress.org/trunk@23305 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-01-18 13:44:22 +00:00
Andrew Nacin
a79310d45c Update the old wp-app.php rule to allow for a trailing slash followed by endpoint data. props wonderboymusic. fixes #22035.
git-svn-id: http://core.svn.wordpress.org/trunk@22441 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-07 21:27:02 +00:00
Ryan Boren
8bb0fc5079 Revert [22365]. see #21167
git-svn-id: http://core.svn.wordpress.org/trunk@22403 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-06 19:45:51 +00:00
Jon Cave
86d88f8b2d Actually pass old permalink structure with permalink_structure_changed action
Props doublesharp. Fixes #22351.


git-svn-id: http://core.svn.wordpress.org/trunk@22398 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-06 12:41:33 +00:00
Ryan Boren
c0274c4fa7 preg_quote() the permalink structure so that regex special chars such as dots are correctly handled. Props SergeyBiryukov. fixes #21167
git-svn-id: http://core.svn.wordpress.org/trunk@22365 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-05 14:13:29 +00:00
Mark Jaquith
e3dc0220ff Make Multisite work when WordPress is installed in a subdirectory. You can now have WordPress Multisite as an SVN external or a Git submodule! props johnjamesjacoby, evansolomon, duck_, jakemgold, nacin, markjaquith. see #19796
git-svn-id: http://core.svn.wordpress.org/trunk@22042 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-27 06:07:21 +00:00
Andrew Nacin
dc49f24a6c Remove ms-files.php rewriting from WordPress multisite. fixes #19235.
Keep existing networks compatible with a ms_files_rewriting network option.



git-svn-id: http://core.svn.wordpress.org/trunk@21823 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-11 22:22:20 +00:00
Andrew Nacin
fffed3c5d2 Remove accidental cruft in [21804] caused by renaming variables. see #21509.
git-svn-id: http://core.svn.wordpress.org/trunk@21819 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-11 20:15:56 +00:00
Andrew Nacin
9d204841ee Remove AtomPub from core.
* Will be replaced with http://wordpress.org/extend/plugins/atom-publishing-protocol/.
 * Introduces an action, xmlrpc_rsd_apis, to add APIs to xmlrpc.php?rsd.
 * Introduces support for 'error' being 403 and 50x in class-wp.php.
 * Removes 'Remote Publishing' from Writing Settings (see [21804]). Keeps the remote_publishing settings section.

DB version is bumped to generate the new wp-app rewrite rule and remove the old enable_app option.

props wonderboymusic.
fixes #21509.



git-svn-id: http://core.svn.wordpress.org/trunk@21818 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-11 20:11:39 +00:00
Andrew Nacin
1b99559639 Use site_url() in WP_Rewrite::mod_rewrite_rules(), rather than get_option(). props JustinSainton. fixes #21186.
git-svn-id: http://core.svn.wordpress.org/trunk@21810 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-11 01:44:48 +00:00
Jon Cave
4a94c500f2 Reinstate paged rewrite rules for the post permalink structure.
Removal of this stopped pagination working for bare category URLs when
certain %category% based permalink structures were in used.

Reverts one more piece of [19737]. Props SergeyBiryukov. See #21209.


git-svn-id: http://core.svn.wordpress.org/trunk@21705 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-03 22:06:28 +00:00
duck_
176317abcf Set $walk_dirs = true for post rewrite rule generation. See #21020 for trunk.
Partial revert of r19737 and r19778 as some users were relying on this behaviour.


git-svn-id: http://core.svn.wordpress.org/trunk@21112 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-06-25 20:41:14 +00:00
nacin
548baad816 Remove wp-register.php.
* Don't remove it on update. If you have it now, you'll keep it. New installs won't get it.
 * Peform a redirect using rewrite + canonical to the new location, if the file doesn't exist.
props SergeyBiryukov.
fixes #18544.


git-svn-id: http://svn.automattic.com/wordpress/trunk@20596 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-04-25 20:49:57 +00:00
ryan
d910c26182 Pinking shears 6-20000
git-svn-id: http://svn.automattic.com/wordpress/trunk@20000 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-02-27 19:46:52 +00:00
duck_
b6edf3ddd2 Pages must be paged (/page/x/) to allow for the page_for_posts option. See #19876.
git-svn-id: http://svn.automattic.com/wordpress/trunk@19810 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-02-01 19:19:32 +00:00
duck_
2f4c545761 Use new $args parameter for (WP_Rewrite::)add_permastruct(). Fixes #16092.
Use array_intersect_key() to keep WP_Rewrite::$extra_permastructs free of unnecessary/unknown keys + values.


git-svn-id: http://svn.automattic.com/wordpress/trunk@19779 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-01-28 21:00:59 +00:00
duck_
e05c96316f Add the $query parameter to add_rewrite_tag() so that it matches WP_Rewrite::add_rewrite_tag(). Fixes #19871.
Also rename some other parameters so that they all match.


git-svn-id: http://svn.automattic.com/wordpress/trunk@19756 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-01-25 22:48:24 +00:00
duck_
8361ce4be1 Improve the inline documentation of rewrite endpoints. See #16303.
git-svn-id: http://svn.automattic.com/wordpress/trunk@19753 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-01-25 21:58:23 +00:00