Commit Graph

27 Commits

Author SHA1 Message Date
Aaron Jorbin
bb8d792d37 Make sure rewrite rules are not written until wp_loaded has fired
If a plugin attempts to change the rewrite rules to early, other plugins may have their rules inadvertently discarded. Additionally, some function such as `url_to_post_id` cause a rewrite rule lookup that could cause this accidental flushing. This forces the flushing to only occur once `wp_loaded` has been fired.

Fixes #37892.
Props Chouby.



git-svn-id: https://develop.svn.wordpress.org/trunk@38751 602fd350-edb4-49c9-b593-d223f7449a82
2016-10-07 19:43:57 +00:00
Drew Jaynes
b4fca4a558 Hooks: Standardize naming of dynamic hooks to use interpolation vs concatenation.
Benefits gained in discoverability and self-documentation throughout core trump the negligible performance hit in using interpolation in hook names.

Props ramiy.
See #37748.


git-svn-id: https://develop.svn.wordpress.org/trunk@38307 602fd350-edb4-49c9-b593-d223f7449a82
2016-08-22 18:24:48 +00:00
Drew Jaynes
b208dae5e6 Docs: Apply inline @see tags to hooks referenced in DocBlocks for core classes.
Applying these specially-crafted `@see` tags allows the Code Reference parser to recognize and link these elements as actions and filters.

See #36921.


git-svn-id: https://develop.svn.wordpress.org/trunk@37539 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-23 18:53:05 +00:00
Drew Jaynes
c49afe285c Docs: Standardize filter docs in core classes in wp-includes/* to use third-person singular verbs per the inline documentation standards for PHP.
See #36913.


git-svn-id: https://develop.svn.wordpress.org/trunk@37492 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-22 18:14:19 +00:00
Drew Jaynes
195572596b Docs: Standardize on 'backward compatibility/compatible' nomenclature in core inline docs.
Also use 'back-compat' in some inline comments where backward compatibility is the subject and shorthand feels more natural.

Note: 'backwards compatibility/compatibile' can also be considered correct, though it's primary seen in regular use in British English.

Props ocean90.
Fixes #36835.


git-svn-id: https://develop.svn.wordpress.org/trunk@37431 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-13 18:40:19 +00:00
John Blackbourn
d9a7db711e Rewrite Rules: Allow rewrite rules to work in nested WordPress installations on IIS.
Props WiZZarD_
Fixes #35558


git-svn-id: https://develop.svn.wordpress.org/trunk@36953 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-10 20:00:05 +00:00
Pascal Birchler
d80a3c7ccd 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.

git-svn-id: https://develop.svn.wordpress.org/trunk@36307 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-15 07:55:19 +00:00
Pascal Birchler
844e1b6e7e After [36254], commit all the necessary files and not just the unit test.
git-svn-id: https://develop.svn.wordpress.org/trunk@36255 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-10 19:06:03 +00:00
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
Drew Jaynes
6de1483105 Docs: Add missing parameter and return descriptions to the DocBlock for WP_Rewrite::iis7_url_rewrite_rules().
See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@35941 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-14 23:57:09 +00:00
Drew Jaynes
6fe7598cff Docs: Add a couple of strategically-placed spaces in WP_Rewrite.
Fixes #34218.


git-svn-id: https://develop.svn.wordpress.org/trunk@34964 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-08 22:06:42 +00:00
Drew Jaynes
e05fb68289 Docs: Mark the optional parameters for WP_Rewrite::generate_rewrite_rules() as such, and improve overall formatting.
Also brings in the list of acceptable constants for the `$ep_mask` parameter.

See #34218.


git-svn-id: https://develop.svn.wordpress.org/trunk@34962 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-08 21:48:25 +00:00
Drew Jaynes
61c3b3121f Docs: Convert the description for the optional $args parameter in WP_Rewrite::add_permastruct() into a hash notation.
See #34218.


git-svn-id: https://develop.svn.wordpress.org/trunk@34960 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-08 21:34:56 +00:00
Drew Jaynes
bf12d6abfb Docs: Improve more formatting and syntax for inline comments in WP_Rewrite.
See #34218.


git-svn-id: https://develop.svn.wordpress.org/trunk@34958 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-08 21:23:31 +00:00
Drew Jaynes
694a56bc14 Docs: Add saner formatting and make readability improvements to a variety of inline comments in WP_Rewrite and WP_Rewrite::generate_rewrite_rules().
See #34218.


git-svn-id: https://develop.svn.wordpress.org/trunk@34957 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-08 21:17:14 +00:00
Sergey Biryukov
b69797e8e8 Docs: Fix typo in [34944].
See #34218.

git-svn-id: https://develop.svn.wordpress.org/trunk@34955 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-08 20:59:46 +00:00
John Blackbourn
17e2841eea Improve the parameter names and inline documentation for add_rewrite_rule(), WP_Rewrite::add_rule(), and WP_Rewrite::add_external_rule().
Fixes #34197


git-svn-id: https://develop.svn.wordpress.org/trunk@34946 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-08 17:27:05 +00:00
Drew Jaynes
4dc569f748 Docs: Fix third-person singular verbs in DocBlock summaries throughout WP_Rewrite.
See #34218.


git-svn-id: https://develop.svn.wordpress.org/trunk@34944 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-08 17:11:52 +00:00
Drew Jaynes
ee6b1ae7c8 Docs: Relocate some more DocBlock-level @see tags and add some missing @access tags in WP_Rewrite.
See #34218.


git-svn-id: https://develop.svn.wordpress.org/trunk@34941 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-08 16:50:52 +00:00
Drew Jaynes
e0dd9fa33a Docs: Relocate some DocBlock-level @see tags in WP_Rewrite.
See #34218.


git-svn-id: https://develop.svn.wordpress.org/trunk@34940 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-08 16:48:04 +00:00
Drew Jaynes
ac7ef64dde Docs: Remove invalid inline @link tags from a variety of DocBlocks in WP_Rewrite.
See #34218.


git-svn-id: https://develop.svn.wordpress.org/trunk@34939 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-08 16:46:16 +00:00
Drew Jaynes
60a5a56f40 Docs: Add a file header to wp-includes/class-wp-rewrite.php.
See #34218.


git-svn-id: https://develop.svn.wordpress.org/trunk@34938 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-08 16:40:11 +00:00
Gary Pendergast
43bd3d46c9 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.



git-svn-id: https://develop.svn.wordpress.org/trunk@34903 602fd350-edb4-49c9-b593-d223f7449a82
2015-10-07 10:35:18 +00:00
Scott Taylor
427f4fe063 Rewrite: allow add_rewrite_rule|WP_Rewrite::add_rule() to accept an associative array for the value of $redirect instead of requiring a query string.
Adds unit tests.

Props scribu, DrewAPicture.
Fixes #16840.


git-svn-id: https://develop.svn.wordpress.org/trunk@34708 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-30 01:10:03 +00:00
Scott Taylor
0111ecef55 Canonical/Rewrite: sanity check posts that are paged with <!--nextpage-->. Page numbers past the max number of pages are returning the last page of content and causing infinite duplicate content.
Awesome rewrite bug: the `page` query var was being set to `'/4'` in `$wp`. When cast to `int`, it returns `0` (Bless you, PHP). `WP_Query` calls `trim( $page, '/' )` when setting its own query var. The few places that were checking `page`	before posts were queried now have sanity checks, so that these changes work without flushing rewrites.	

Adds/updates unit tests.

Props wonderboymusic, dd32.
See #11694.


git-svn-id: https://develop.svn.wordpress.org/trunk@34492 602fd350-edb4-49c9-b593-d223f7449a82
2015-09-24 14:03:05 +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