38 Commits

Author SHA1 Message Date
Pascal Birchler
79f2e50ca5 Rewrite: Add a remove_rewrite_tag() helper function.
It can be used to properly remove registered rewrite tags. Adds unit tests.

Fixes #35236.

git-svn-id: https://develop.svn.wordpress.org/trunk@36217 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-07 09:38:06 +00:00
Pascal Birchler
e055e5b80e Rewrite: Add a remove_permastruct() helper function.
It can be used to remove permastructs that were added using `add_permastruct()`.

Fixes #35235.

git-svn-id: https://develop.svn.wordpress.org/trunk@36181 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-06 07:39:29 +00:00
Andrew Nacin
8220d04e6d Simplify the include graph after work to split out classes.
see #33413. More details there.


git-svn-id: https://develop.svn.wordpress.org/trunk@35718 602fd350-edb4-49c9-b593-d223f7449a82
2015-11-20 07:23:04 +00:00
Scott Taylor
799f28a918 Rewrite: move WP_Rewrite into its own file. rewrite.php loads the new files, so this is 100% BC if someone is loading rewrite.php directly. New files created using svn cp.
The rewrite functions have all kinds of cross-dependencies (like `WP_Query`), so loading the file by itself would have been bizarre (and still is).

Creates: 
`rewrite-constants.php` 
`rewrite-functions.php` 
`class-wp-rewrite.php` 

`rewrite.php` contains only top-level code. Class file only contains the class. Functions file only contains functions.

See #33413.


git-svn-id: https://develop.svn.wordpress.org/trunk@33751 602fd350-edb4-49c9-b593-d223f7449a82
2015-08-26 04:41:29 +00:00
Drew Jaynes
b3544157ab Properly mark the $query_var parameter as optional in the DocBlock for WP_Rewrite->add_endpoint().
See #32246. See #32891.


git-svn-id: https://develop.svn.wordpress.org/trunk@33237 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-13 21:54:40 +00:00
DrewAPicture
f6ca434cd5 Add better line wrapping and syntax improvements to the description for wp_resolve_numeric_slug_conflicts(), added in 4.3.
Also properly mark `$query_vars` as optional in the parameter description.

See [32648]. See #32891.


git-svn-id: https://develop.svn.wordpress.org/trunk@33236 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-13 21:53:02 +00:00
Drew Jaynes
2ebc03741b Remove a now-unnecessary inline @see tag from the description for add_rewrite_endpoint().
See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@33235 602fd350-edb4-49c9-b593-d223f7449a82
2015-07-13 21:50:18 +00:00
Scott Taylor
cd188f40d1 WP_Rewrite::add_rule() should strictly check against false when using strpos().
See #32444.


git-svn-id: https://develop.svn.wordpress.org/trunk@32941 602fd350-edb4-49c9-b593-d223f7449a82
2015-06-25 16:55:35 +00:00
Scott Taylor
c8a44d437a Add @static* annotations where they are missing.
Initialize all static vars that are not, most to `null`.

See #32444.


git-svn-id: https://develop.svn.wordpress.org/trunk@32650 602fd350-edb4-49c9-b593-d223f7449a82
2015-05-29 15:42:40 +00:00
Boone Gorges
bb8999fb0e 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@32648 602fd350-edb4-49c9-b593-d223f7449a82
2015-05-29 13:09:26 +00:00
Scott Taylor
2f822e758c 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@32622 602fd350-edb4-49c9-b593-d223f7449a82
2015-05-27 19:22:59 +00:00
Boone Gorges
7add279793 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@32293 602fd350-edb4-49c9-b593-d223f7449a82
2015-04-24 16:37:12 +00:00
Sergey Biryukov
e4a9e49b6d 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@31964 602fd350-edb4-49c9-b593-d223f7449a82
2015-04-01 19:05:21 +00:00
Sergey Biryukov
5aac59d178 Replace hardcoded usage of comment-page with the comment pagination base.
props johnbillion, SergeyBiryukov, webord.
fixes #18084.

git-svn-id: https://develop.svn.wordpress.org/trunk@31459 602fd350-edb4-49c9-b593-d223f7449a82
2015-02-14 03:47:02 +00:00
Scott Taylor
349e5cb318 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@31126 602fd350-edb4-49c9-b593-d223f7449a82
2015-01-10 06:53:48 +00:00
Sergey Biryukov
9d67bfe82d 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@31104 602fd350-edb4-49c9-b593-d223f7449a82
2015-01-08 21:59:57 +00:00
Scott Taylor
6fd11624d1 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@31090 602fd350-edb4-49c9-b593-d223f7449a82
2015-01-08 07:04:40 +00:00
Scott Taylor
97d6901048 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@31078 602fd350-edb4-49c9-b593-d223f7449a82
2015-01-08 05:43:54 +00:00
Scott Taylor
218dd4fd6b For clarity, initialize some arrays that previously were only assigned via short circuit in loops.
See #30799.


git-svn-id: https://develop.svn.wordpress.org/trunk@30982 602fd350-edb4-49c9-b593-d223f7449a82
2014-12-20 22:46:53 +00:00
Drew Jaynes (DrewAPicture)
18f101b4bf Using let's properly in inline comments lets us move on to more pressing matters of inline documentation.
Props trepmal.
Fixes #30570.


git-svn-id: https://develop.svn.wordpress.org/trunk@30703 602fd350-edb4-49c9-b593-d223f7449a82
2014-12-02 04:42:17 +00:00
Scott Taylor
43885a303e Improve the @param docs for src/includes/rewrite.php.
See #30224.


git-svn-id: https://develop.svn.wordpress.org/trunk@30669 602fd350-edb4-49c9-b593-d223f7449a82
2014-11-30 22:24:49 +00:00
Drew Jaynes (DrewAPicture)
e587324180 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@30656 602fd350-edb4-49c9-b593-d223f7449a82
2014-11-30 12:09:56 +00:00
Drew Jaynes (DrewAPicture)
76699122d0 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@30545 602fd350-edb4-49c9-b593-d223f7449a82
2014-11-24 06:14:03 +00:00
Mark Jaquith
7063377539 Use HTTPS URLs for core.trac.wordpress.org
see #27115

git-svn-id: https://develop.svn.wordpress.org/trunk@29788 602fd350-edb4-49c9-b593-d223f7449a82
2014-09-29 13:27:55 +00:00
Scott Taylor
6f4df85c8f 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@28533 602fd350-edb4-49c9-b593-d223f7449a82
2014-05-19 17:40:08 +00:00
Drew Jaynes (DrewAPicture)
ef4d73dafc Fix PHPDoc formatting for WP_Rewrite::add_endpoint().
See #27700.


git-svn-id: https://develop.svn.wordpress.org/trunk@28014 602fd350-edb4-49c9-b593-d223f7449a82
2014-04-07 21:38:34 +00:00
Andrew Nacin
9b0101e59d Rewrite: Use same delimiter in url_to_postid() we use in WP::parse_request().
props stevenkword.
fixes #23587. 


git-svn-id: https://develop.svn.wordpress.org/trunk@27835 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-29 05:17:57 +00:00
Drew Jaynes
3c5db72715 Fix a typo in the author_rewrite_rules hook doc.
Props kpdesign.
See #26095.


git-svn-id: https://develop.svn.wordpress.org/trunk@27346 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-02 02:49:21 +00:00
Drew Jaynes
ac57fea48a Inline documentation for hooks in wp-includes/rewrite.php.
Props mboynes for the initial patch.
Fixes #26095.


git-svn-id: https://develop.svn.wordpress.org/trunk@27341 602fd350-edb4-49c9-b593-d223f7449a82
2014-03-01 09:30:55 +00:00
John Blackbourn
c76c9738b7 Allow rewrite endpoints to specify a query variable name. Fixes #20905.
git-svn-id: https://develop.svn.wordpress.org/trunk@27327 602fd350-edb4-49c9-b593-d223f7449a82
2014-02-28 20:54:05 +00:00
Dion Hulse
22738bc3d5 Remove the experimental RSS.JS feed, and move it to a plugin for feature development. Unprops pento. See #25639
git-svn-id: https://develop.svn.wordpress.org/trunk@26644 602fd350-edb4-49c9-b593-d223f7449a82
2013-12-04 22:23:02 +00:00
Andrew Nacin
555703dff2 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.


git-svn-id: https://develop.svn.wordpress.org/trunk@26294 602fd350-edb4-49c9-b593-d223f7449a82
2013-11-20 22:57:09 +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
b307e1a23f Add documentation for the new flush_rewrite_rules_hard filter. fixes #23491.
git-svn-id: https://develop.svn.wordpress.org/trunk@25464 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-16 21:59:27 +00:00
Scott Taylor
4fccea305f 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.



git-svn-id: https://develop.svn.wordpress.org/trunk@25328 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-10 22:18:21 +00:00
Scott Taylor
a7a070cc2c Only variables should be passed by reference.
Props Askapache.
Fixes #23032.



git-svn-id: https://develop.svn.wordpress.org/trunk@25263 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-05 21:52:44 +00:00
Scott Taylor
a5d3bde7a0 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.



git-svn-id: https://develop.svn.wordpress.org/trunk@25258 602fd350-edb4-49c9-b593-d223f7449a82
2013-09-05 17:28:52 +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