Commit Graph

223 Commits

Author SHA1 Message Date
Sergey Biryukov
8d81483b5e I18N: Combine two duplicate "Invalid post type" strings.
Props @ramiy.
See #18218.

git-svn-id: https://develop.svn.wordpress.org/trunk@38076 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-17 16:04:50 +00:00
Sergey Biryukov
be12798c9a Docs: Correct $post parameter name and description for wp_attachment_is() and wp_attachment_is_image().
Props flixos90.
Fixes #37377.

git-svn-id: https://develop.svn.wordpress.org/trunk@38068 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-16 13:04:01 +00:00
Drew Jaynes
55692a6e6b Docs: Add and clarify changelog entries for elements that can now accept, use, or return WP_Post_Type objects.
Also adds a missing initial `@since` version for `wp_xmlrpc_server::_prepare_post_type()`.

See [37890]. See #36217.


git-svn-id: https://develop.svn.wordpress.org/trunk@38051 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-13 15:23:04 +00:00
Sergey Biryukov
920f29616a Docs: Use 3-digit, x.x.x-style semantic versioning for _doing_it_wrong(), _deprecated_function(), _deprecated_argument(), and _deprecated_file() throughout core.
Props metodiew.
Fixes #36495.

git-svn-id: https://develop.svn.wordpress.org/trunk@37985 602fd350-edb4-49c9-b593-d223f7449a82
2016-07-06 12:39:01 +00:00
Joe McGill
0b4798b2bc Post Thumbnails: Add helper functions for attachment captions.
This adds three new functions for getting/displaying attachment captions:

* `wp_get_attachment_caption` - Retrieves a caption for a specific attachment.
* `get_the_post_thumbnail_caption()` - Returns the post thumbnail caption.
* `the_post_thumbnail_caption()` - Displays the post thumbnail caption.

These are helpful for displaying a caption associated with an image directly
in a template, rather than using the caption shortcode.

This also introduces two new filters:

* `wp_get_attachment_caption` - Filters the value of `wp_get_attachment_caption()`.
* `the_post_thumbnail_caption` - Filters the display of the post thumbnail caption.

`the_post_thumbnail_caption()` is automatically filtered by `wptexturize()`,
`convert_smilies()`, and `convert_chars()` in `wp-includes/default-filters.php`.

Props flixos90, joemcgill.
Fixes #12235.

git-svn-id: https://develop.svn.wordpress.org/trunk@37915 602fd350-edb4-49c9-b593-d223f7449a82
2016-06-29 17:28:00 +00:00
Dominik Schilling (ocean90)
bded47a1b6 Posts: Introduce WP_Post_Type and use it in register_post_type() and unregister_post_type().
This changes the global `$wp_post_types` to an array of `WP_Post_Type` objects. `WP_Post_Type` includes methods to handle post type supports, rewrite rules, meta boxes, hooks, and taxonomies.
Each post type argument becomes a property of `WP_Post_Type`.

Props swissspidy, flixos90.
Fixes #36217.

git-svn-id: https://develop.svn.wordpress.org/trunk@37890 602fd350-edb4-49c9-b593-d223f7449a82
2016-06-28 16:40:33 +00:00
Drew Jaynes
eec7c2432a Docs: Improve formatting and syntax of the defaullt label docs in the DocBlock for get_post_type_labels().
See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@37886 602fd350-edb4-49c9-b593-d223f7449a82
2016-06-28 07:17:19 +00:00
Drew Jaynes
730d562648 Docs: Add a more complete $labels parameter description to the DocBlock for register_post_type().
Directly references `get_post_type_labels()` for the full list of supported labels.

See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@37885 602fd350-edb4-49c9-b593-d223f7449a82
2016-06-28 06:41:23 +00:00
Drew Jaynes
d150e9e54f Docs: Improve the $post_type parameter description in the DocBlock for register_post_type().
See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@37884 602fd350-edb4-49c9-b593-d223f7449a82
2016-06-28 06:36:24 +00:00
Drew Jaynes
e80747265f Docs: Add more complete documentation for the $supports argument in register_post_type().
See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@37883 602fd350-edb4-49c9-b593-d223f7449a82
2016-06-28 06:31:05 +00:00
Drew Jaynes
8a9b76d0aa Docs: Improve the usefulness, accuracy, and syntax of the register_post_type() DocBlock summary and description.
See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@37882 602fd350-edb4-49c9-b593-d223f7449a82
2016-06-28 06:26:40 +00:00
Pascal Birchler
bdaede85d7 Posts: Add hooks for post sticky status changes.
This adds a new `post_stuck` action that fires when a post is made sticky and a `post_unstuck` action that fires when the sticky flag is removed again.

Props ojrask.
Fixes #35600.

git-svn-id: https://develop.svn.wordpress.org/trunk@37857 602fd350-edb4-49c9-b593-d223f7449a82
2016-06-23 15:51:03 +00:00
Drew Jaynes
3348efa466 Docs: Improve the return description for wp_get_post_categories() to include more information about possible return values.
Props jeherve for the initial patch.
Fixes #37002.


git-svn-id: https://develop.svn.wordpress.org/trunk@37686 602fd350-edb4-49c9-b593-d223f7449a82
2016-06-11 17:07:35 +00:00
Drew Jaynes
9531107084 Docs: Apply inline @see tags to hooks referenced in DocBlocks in a variety of wp-includes/* files.
Applying these specially-crafted `@see` tags allows the Code Reference parser to recognize and link these elements as actions and filters.

Fixes #36921.


git-svn-id: https://develop.svn.wordpress.org/trunk@37544 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-23 19:01:40 +00:00
Drew Jaynes
516fbd33b7 Docs: Standardize filter docs in wp-includes/post.php to use third-person singular verbs per the inline documentation standards for PHP.
See #36913.


git-svn-id: https://develop.svn.wordpress.org/trunk@37504 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-22 18:30:23 +00:00
Drew Jaynes
520ed6b725 Docs: Remove/replace invalid inline @link tags in DocBlocks in wp-includes/*.
Fixes #36910.


git-svn-id: https://develop.svn.wordpress.org/trunk@37487 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-22 17:39:00 +00:00
Boone Gorges
3e3b09c8ea In get_page_by_path(), values fetched from cache should obey $output param.
Introduced in [37479].

Props spacedmonkey.
Fixes #36711.

git-svn-id: https://develop.svn.wordpress.org/trunk@37481 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-22 16:18:22 +00:00
Boone Gorges
1a39a00dfd Cache queries in get_page_by_path().
Props spacedmonkey.
Fixes #36711.

git-svn-id: https://develop.svn.wordpress.org/trunk@37479 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-21 17:26:55 +00:00
Sergey Biryukov
c298cefcd4 Docs: Fix typo in a comment in check_and_publish_future_post().
See #32246.

git-svn-id: https://develop.svn.wordpress.org/trunk@37403 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-08 12:45:18 +00:00
Eric Andrew Lewis
32ed4fadf2 Posts: Allow get_page_uri() to be called without a $page argument.
`get_page_uri()` can now be called without an argument, which will return the page URI for the current post in the loop.

Props pollett.
Fixes #26284.


git-svn-id: https://develop.svn.wordpress.org/trunk@37345 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-02 18:28:04 +00:00
Drew Jaynes
c7bed4f8c6 Docs: Remove inline @see tags from function, class, and method references in inline docs.
Known functions, classes, and methods are now auto-linked in Code Reference pages following #meta1483.

Note: Hook references are still linked via inline `@see` tags due to the unlikelihood of reliably matching for known hooks based on a RegEx pattern.

See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@37342 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-02 03:59:56 +00:00
Sergey Biryukov
74fc4c6603 Docs: Document the @return value of wp_add_trashed_suffix_to_post_name_for_post().
Props Shelob9.
Fixes #36728.

git-svn-id: https://develop.svn.wordpress.org/trunk@37334 602fd350-edb4-49c9-b593-d223f7449a82
2016-05-01 10:15:51 +00:00
Boone Gorges
17dc5ba0bf Add parameter documentation for 'post_category' to wp_insert_post().
Props Latz.
Fixes #36601.

git-svn-id: https://develop.svn.wordpress.org/trunk@37255 602fd350-edb4-49c9-b593-d223f7449a82
2016-04-20 13:53:32 +00:00
Boone Gorges
745018d81a In sanitize_post_field(), only run 'attribute' or 'js' escaping when necessary.
Props tfrommen.
Fixes #34900.

git-svn-id: https://develop.svn.wordpress.org/trunk@37220 602fd350-edb4-49c9-b593-d223f7449a82
2016-04-16 14:51:01 +00:00
boonebgorges
f1c3ec9010 Use __trashed suffix rather than -%trashed% for trashed post slugs.
Percent signs are reserved characters in URIs. As such, it was impossible for
plugins to route requests to trashed posts, as happens in bbPress. The new
`__trashed` suffix should be sufficiently unique.

Also adds a test that demonstrates that the `__trashed` suffix can be
appended to slugs that contain the suffix somewhere other than the end of
the string.

Props netweb, ericlewis.
Fixes #11863.

git-svn-id: https://develop.svn.wordpress.org/trunk@37165 602fd350-edb4-49c9-b593-d223f7449a82
2016-04-07 19:21:02 +00:00
Drew Jaynes
95a37a1e35 Docs: Improve the DocBlock summary for wp_queue_posts_for_term_meta_lazyload(), introduced in [36566].
See #35816. See #35986.


git-svn-id: https://develop.svn.wordpress.org/trunk@36945 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-10 18:28:33 +00:00
Drew Jaynes
2774bb1116 Docs: Improve the accuracy of the return description for unregister_post_type(), introduced in [36316].
See #14761. See #35986.


git-svn-id: https://develop.svn.wordpress.org/trunk@36944 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-10 18:24:45 +00:00
Boone Gorges
79c92e605a Correct @return annotation for wp_set_object_terms() and related functions.
The return value is an array of term taxonomy IDs, not term IDs.

Fixes #36182.

git-svn-id: https://develop.svn.wordpress.org/trunk@36896 602fd350-edb4-49c9-b593-d223f7449a82
2016-03-09 16:16:29 +00:00
Drew Jaynes
9b231ff3f8 Docs: Use the correct variable name for the $post_ID parameter in the DocBlock for wp_add_trashed_suffix_to_post_name_for_trashed_posts().
See #11863. See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@36727 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-26 09:24:03 +00:00
Drew Jaynes
aed2535da9 Docs: Standardize summaries for two new internal functions used to handle suffixing trashed posts.
Also adds a notation of private access to each.

See #11863. See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@36726 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-26 09:22:08 +00:00
Dominik Schilling (ocean90)
9a7488aaf8 Spelling: Standardize on "front end"/"back end" (noun) and "front-end"/"back-end" (adjective).
Props obrienlabs, thewanderingbrit.
Fixes #34887.

git-svn-id: https://develop.svn.wordpress.org/trunk@36709 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-25 12:52:33 +00:00
Drew Jaynes
4acfd64d93 Posts: Rename the $args parameter in get_post_types_by_support() to $feature for better self-documentation.
See #34010. See #32246.


git-svn-id: https://develop.svn.wordpress.org/trunk@36704 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-25 04:55:01 +00:00
Pascal Birchler
9fb4d30ada Posts: Introduce get_post_types_by_support().
Similar to `get_post_types()`, this new function returns a list of post type names that support a specific feature.

Props wpsmith, barryceelen, swissspidy.
Fixes #34010.

git-svn-id: https://develop.svn.wordpress.org/trunk@36652 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-23 22:49:17 +00:00
Eric Andrew Lewis
c592a7262e Posts: Non-trashed posts should take slug priority over trashed posts.
When determining a unique post slug, trashed posts are taken into account. Previously, new posts would add suffixes to their slugs (e.g. `about-2`) when a post in the trash had the desired slug (e.g. `about`). 

To avoid this behavior, when a post is trashed its slug (i.e. `post_name`) is now suffixed with `-%trashed%`. The post's pre-trash slug is stored as post meta, and if the post is restored from trash, its desired slug is reapplied. 

For existing trashed posts which don't have the `-%trashed%` suffix, the suffix is added when a post with its desired slug is created.

Props ocean90, boonebgorges, ryan, SergeyBiryukov, coffee2code, helen, williamsba1.
See #11863.


git-svn-id: https://develop.svn.wordpress.org/trunk@36607 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-21 21:44:14 +00:00
Andrew Ozz
bb49a958d2 Replace wp_upload_dir() with the new wp_get_upload_dir() in all cases where a file is not being uploaded. Deprecate _wp_upload_dir_baseurl(), and replace it with wp_get_upload_dir().
See #34359.

git-svn-id: https://develop.svn.wordpress.org/trunk@36569 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-18 00:23:04 +00:00
Boone Gorges
28fad09b61 More performance improvements to metadata lazyloading.
Comment and term meta lazyloading for `WP_Query` loops, introduced in 4.4,
depended on filter callback methods belonging to `WP_Query` objects. This meant
storing `WP_Query` objects in the `$wp_filter` global (via `add_filter()`),
requiring that PHP retain the objects in memory, even when the local variables
would typically be expunged during normal garbage collection. In cases where a
large number of `WP_Query` objects were instantiated on a single pageload,
and/or where the contents of the `WP_Query` objects were quite large, serious
performance issues could result.

We skirt this problem by moving metadata lazyloading out of `WP_Query`. The
new `WP_Metadata_Lazyloader` class acts as a lazyload queue. Query instances
register items whose metadata should be lazyloaded - such as post terms, or
comments - and a `WP_Metadata_Lazyloader` method will intercept comment and
term meta requests to perform the cache priming. Since `WP_Metadata_Lazyloader`
instances are far smaller than `WP_Query` (containing only object IDs), and
clean up after themselves far better than the previous `WP_Query` methods (bp
only running their callbacks a single time for a given set of queued objects),
the resource use is decreased dramatically.

See [36525] for an earlier step in this direction.

Props lpawlik, stevegrunwell, boonebgorges.
Fixes #35816.

git-svn-id: https://develop.svn.wordpress.org/trunk@36566 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-17 22:57:33 +00:00
Drew Jaynes
305d44d04e Docs: Revert unintended changes in wp-includes/post.php, mistakenly included in [36497].
See #34988. See #33701. 


git-svn-id: https://develop.svn.wordpress.org/trunk@36498 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-07 02:45:06 +00:00
Drew Jaynes
e3cfe3e257 Docs: Add a missing version to the file header for wp-admin/term.php, introduced in [36308].
See #34988. See #33701.


git-svn-id: https://develop.svn.wordpress.org/trunk@36497 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-07 02:42:25 +00:00
Boone Gorges
2c73fd9531 Make the $post param optional in get_post_field().
When `$post` is `null`, the current post object will be returned.

Props sebastian.pisula.
Fixes #35683.

git-svn-id: https://develop.svn.wordpress.org/trunk@36481 602fd350-edb4-49c9-b593-d223f7449a82
2016-02-05 18:57:09 +00:00
Boone Gorges
af5a3b663f Allow is_post_type_viewable() to accept a post type name.
Previously, it accepted only a post type object.

Props spacedmonkey.
Fixes #35609.

git-svn-id: https://develop.svn.wordpress.org/trunk@36402 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-26 02:36:32 +00:00
Pascal Birchler
a111eafd41 Post Types: Introduce unregister_post_type().
This new function can be used to completely unregister non built-in post types.

Fixes #14761.

git-svn-id: https://develop.svn.wordpress.org/trunk@36316 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-15 12:19:15 +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
13896125d5 Docs: Revert [36268] as the global is indeed used, just via the superglobal.
Fixes #35413.

git-svn-id: https://develop.svn.wordpress.org/trunk@36269 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-12 12:25:37 +00:00
Pascal Birchler
d7ed4900a1 Docs: Fix incorrect DocBlock for wp_get_attachment_url().
The documented `$pagenow` global isn't used in the function.

Props sebastian.pisula.
Fixes #35413.

git-svn-id: https://develop.svn.wordpress.org/trunk@36268 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-12 12:07:30 +00:00
Pascal Birchler
519051b305 Permalinks: Ensure the page hierarchy is correct for sample permalinks.
Fixes #35368.

git-svn-id: https://develop.svn.wordpress.org/trunk@36253 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-10 18:27:06 +00:00
Sergey Biryukov
c7e1a2ee6d Docs: Correct get_page_uri() description.
Props ericlewis.
Fixes #35165.

git-svn-id: https://develop.svn.wordpress.org/trunk@36143 602fd350-edb4-49c9-b593-d223f7449a82
2016-01-01 18:28:17 +00:00
Andrew Ozz
f39a799718 Responsive images: add compatibility for versions < 2.7 when the full image path was stored in the metadata. Introduces _wp_get_attachment_relative_path() and uses it in wp_get_attachment_url().
Props dd32, SergeyBiryukov.
Fixes #35106 for trunk.

git-svn-id: https://develop.svn.wordpress.org/trunk@36120 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-30 00:05:07 +00:00
Dion Hulse
1d2904bf2a Pages: get_page_uri() should return the URI at which the resource being accessed is available at, this may include non-'publish' status posts.
Reverts [34001] and fixes the original issue in #15963 - avoiding a PHP Notice for when the post doesn't exist.

Props tharsheblows.
See #15963.
Fixes #35084.


git-svn-id: https://develop.svn.wordpress.org/trunk@36094 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-26 03:45:28 +00:00
Sergey Biryukov
443419ae37 Docs: Clarify that get_post_types() accepts 'not' as its $operator parameter.
Props barryceelen.
Fixes #35225.

git-svn-id: https://develop.svn.wordpress.org/trunk@36091 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-26 00:37:14 +00:00
John Blackbourn
a6556195d8 Docs: Miscellaneous docblock corrections.
See #32246


git-svn-id: https://develop.svn.wordpress.org/trunk@36069 602fd350-edb4-49c9-b593-d223f7449a82
2015-12-23 06:30:09 +00:00