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
Pascal Birchler
f079f57357
Rewrite: Add a `remove_rewrite_tag()` helper function.
...
It can be used to properly remove registered rewrite tags. Adds unit tests.
Fixes #35236 .
Built from https://develop.svn.wordpress.org/trunk@36217
git-svn-id: http://core.svn.wordpress.org/trunk@36184 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-07 09:39:27 +00:00
Pascal Birchler
dbe28bf8e3
Rewrite: Add a `remove_permastruct()` helper function.
...
It can be used to remove permastructs that were added using `add_permastruct()`.
Fixes #35235 .
Built from https://develop.svn.wordpress.org/trunk@36181
git-svn-id: http://core.svn.wordpress.org/trunk@36148 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-06 07:40:26 +00:00
Andrew Nacin
1579e45d41
Simplify the include graph after work to split out classes.
...
see #33413 . More details there.
Built from https://develop.svn.wordpress.org/trunk@35718
git-svn-id: http://core.svn.wordpress.org/trunk@35682 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-11-20 07:24:30 +00:00
Scott Taylor
207abc77e1
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 .
Built from https://develop.svn.wordpress.org/trunk@33751
git-svn-id: http://core.svn.wordpress.org/trunk@33719 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-08-26 04:42:20 +00:00
Drew Jaynes
6b5728c5b9
Properly mark the `$query_var` parameter as optional in the DocBlock for `WP_Rewrite->add_endpoint()`.
...
See #32246 . See #32891 .
Built from https://develop.svn.wordpress.org/trunk@33237
git-svn-id: http://core.svn.wordpress.org/trunk@33209 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-13 21:55:24 +00:00
Drew Jaynes
e6dd566b79
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 .
Built from https://develop.svn.wordpress.org/trunk@33236
git-svn-id: http://core.svn.wordpress.org/trunk@33208 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-13 21:54:24 +00:00
Drew Jaynes
47b1aca89d
Remove a now-unnecessary inline `@see` tag from the description for `add_rewrite_endpoint()`.
...
See #32246 .
Built from https://develop.svn.wordpress.org/trunk@33235
git-svn-id: http://core.svn.wordpress.org/trunk@33207 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-13 21:51:24 +00:00
Scott Taylor
b3ecfda08d
`WP_Rewrite::add_rule()` should strictly check against `false` when using `strpos()`.
...
See #32444 .
Built from https://develop.svn.wordpress.org/trunk@32941
git-svn-id: http://core.svn.wordpress.org/trunk@32912 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-25 16:56:25 +00:00
Scott Taylor
19a3aacc94
Add `@static*` annotations where they are missing.
...
Initialize all static vars that are not, most to `null`.
See #32444 .
Built from https://develop.svn.wordpress.org/trunk@32650
git-svn-id: http://core.svn.wordpress.org/trunk@32620 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-29 15:43:29 +00:00
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