Joe McGill
170d22a22c
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 .
Built from https://develop.svn.wordpress.org/trunk@37915
git-svn-id: http://core.svn.wordpress.org/trunk@37856 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-29 17:28:28 +00:00
Dominik Schilling
60dc856d64
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 .
Built from https://develop.svn.wordpress.org/trunk@37890
git-svn-id: http://core.svn.wordpress.org/trunk@37831 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-28 16:41:35 +00:00
Drew Jaynes
0ef938e9da
Docs: Improve formatting and syntax of the defaullt label docs in the DocBlock for `get_post_type_labels()`.
...
See #32246 .
Built from https://develop.svn.wordpress.org/trunk@37886
git-svn-id: http://core.svn.wordpress.org/trunk@37827 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-28 07:18:27 +00:00
Drew Jaynes
538eb01e6f
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 .
Built from https://develop.svn.wordpress.org/trunk@37885
git-svn-id: http://core.svn.wordpress.org/trunk@37826 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-28 06:42:28 +00:00
Drew Jaynes
112992ba80
Docs: Improve the `$post_type` parameter description in the DocBlock for `register_post_type()`.
...
See #32246 .
Built from https://develop.svn.wordpress.org/trunk@37884
git-svn-id: http://core.svn.wordpress.org/trunk@37825 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-28 06:37:28 +00:00
Drew Jaynes
d4ae5b76ee
Docs: Add more complete documentation for the `$supports` argument in `register_post_type()`.
...
See #32246 .
Built from https://develop.svn.wordpress.org/trunk@37883
git-svn-id: http://core.svn.wordpress.org/trunk@37824 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-28 06:32:27 +00:00
Drew Jaynes
9ef5fb0a17
Docs: Improve the usefulness, accuracy, and syntax of the `register_post_type()` DocBlock summary and description.
...
See #32246 .
Built from https://develop.svn.wordpress.org/trunk@37882
git-svn-id: http://core.svn.wordpress.org/trunk@37823 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-28 06:27:32 +00:00
Jeremy Felt
6f3f00ea97
Multisite: Change `WP_Network` `id` property to an integer.
...
For consistency and developer sanity.
Props flixos90.
Fixes #37050 .
Built from https://develop.svn.wordpress.org/trunk@37870
git-svn-id: http://core.svn.wordpress.org/trunk@37811 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-26 14:26:29 +00:00
Drew Jaynes
1e48cc8a05
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 .
Built from https://develop.svn.wordpress.org/trunk@37686
git-svn-id: http://core.svn.wordpress.org/trunk@37652 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-11 17:08:28 +00:00
Drew Jaynes
9193013158
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 .
Built from https://develop.svn.wordpress.org/trunk@37544
git-svn-id: http://core.svn.wordpress.org/trunk@37512 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-23 19:02:28 +00:00
Drew Jaynes
dcadd35728
Docs: Standardize filter docs in wp-includes/post.php to use third-person singular verbs per the inline documentation standards for PHP.
...
See #36913 .
Built from https://develop.svn.wordpress.org/trunk@37504
git-svn-id: http://core.svn.wordpress.org/trunk@37472 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-22 18:31:28 +00:00
Drew Jaynes
f52a8cb1fa
Docs: Remove/replace invalid inline `@link` tags in DocBlocks in wp-includes/*.
...
Fixes #36910 .
Built from https://develop.svn.wordpress.org/trunk@37487
git-svn-id: http://core.svn.wordpress.org/trunk@37455 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-22 17:39:28 +00:00
Boone Gorges
4428a031a3
In `get_page_by_path()`, values fetched from cache should obey `$output` param.
...
Introduced in [37479].
Props spacedmonkey.
Fixes #36711 .
Built from https://develop.svn.wordpress.org/trunk@37481
git-svn-id: http://core.svn.wordpress.org/trunk@37449 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-22 16:19:29 +00:00
Boone Gorges
98050e404d
Cache queries in `get_page_by_path()`.
...
Props spacedmonkey.
Fixes #36711 .
Built from https://develop.svn.wordpress.org/trunk@37479
git-svn-id: http://core.svn.wordpress.org/trunk@37447 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-21 17:27:29 +00:00
Sergey Biryukov
ff37a3b730
Docs: Fix typo in a comment in `check_and_publish_future_post()`.
...
See #32246 .
Built from https://develop.svn.wordpress.org/trunk@37403
git-svn-id: http://core.svn.wordpress.org/trunk@37369 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-08 12:46:29 +00:00
Eric Lewis
aba14233d9
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 .
Built from https://develop.svn.wordpress.org/trunk@37345
git-svn-id: http://core.svn.wordpress.org/trunk@37311 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-02 18:29:29 +00:00
Drew Jaynes
fe3b007fdd
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 .
Built from https://develop.svn.wordpress.org/trunk@37342
git-svn-id: http://core.svn.wordpress.org/trunk@37308 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-02 04:00:28 +00:00
Sergey Biryukov
49a47bb255
Docs: Document the `@return` value of `wp_add_trashed_suffix_to_post_name_for_post()`.
...
Props Shelob9.
Fixes #36728 .
Built from https://develop.svn.wordpress.org/trunk@37334
git-svn-id: http://core.svn.wordpress.org/trunk@37300 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-01 10:16:29 +00:00
Boone Gorges
742e0005c6
Add parameter documentation for 'post_category' to `wp_insert_post()`.
...
Props Latz.
Fixes #36601 .
Built from https://develop.svn.wordpress.org/trunk@37255
git-svn-id: http://core.svn.wordpress.org/trunk@37221 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-04-20 13:54:30 +00:00
Boone Gorges
374a489166
In `sanitize_post_field()`, only run 'attribute' or 'js' escaping when necessary.
...
Props tfrommen.
Fixes #34900 .
Built from https://develop.svn.wordpress.org/trunk@37220
git-svn-id: http://core.svn.wordpress.org/trunk@37186 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-04-16 14:51:28 +00:00
Boone Gorges
cfab9716e3
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 .
Built from https://develop.svn.wordpress.org/trunk@37165
git-svn-id: http://core.svn.wordpress.org/trunk@37132 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-04-07 19:22:28 +00:00
Drew Jaynes
f9919442e2
Docs: Improve the DocBlock summary for `wp_queue_posts_for_term_meta_lazyload()`, introduced in [36566].
...
See #35816 . See #35986 .
Built from https://develop.svn.wordpress.org/trunk@36945
git-svn-id: http://core.svn.wordpress.org/trunk@36913 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-03-10 18:29:26 +00:00
Drew Jaynes
49803ffabe
Docs: Improve the accuracy of the return description for `unregister_post_type()`, introduced in [36316].
...
See #14761 . See #35986 .
Built from https://develop.svn.wordpress.org/trunk@36944
git-svn-id: http://core.svn.wordpress.org/trunk@36912 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-03-10 18:25:25 +00:00
Boone Gorges
e032560e6b
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 .
Built from https://develop.svn.wordpress.org/trunk@36896
git-svn-id: http://core.svn.wordpress.org/trunk@36864 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-03-09 16:17:28 +00:00
Drew Jaynes
2846e3aaef
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 .
Built from https://develop.svn.wordpress.org/trunk@36727
git-svn-id: http://core.svn.wordpress.org/trunk@36694 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-26 09:25:26 +00:00
Drew Jaynes
1b9a705394
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 .
Built from https://develop.svn.wordpress.org/trunk@36726
git-svn-id: http://core.svn.wordpress.org/trunk@36693 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-26 09:23:25 +00:00
Dominik Schilling
e5ea82d81a
Spelling: Standardize on "front end"/"back end" (noun) and "front-end"/"back-end" (adjective).
...
Props obrienlabs, thewanderingbrit.
Fixes #34887 .
Built from https://develop.svn.wordpress.org/trunk@36709
git-svn-id: http://core.svn.wordpress.org/trunk@36676 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-25 12:53:27 +00:00
Drew Jaynes
4c3c2b315f
Posts: Rename the `$args` parameter in `get_post_types_by_support()` to `$feature` for better self-documentation.
...
See #34010 . See #32246 .
Built from https://develop.svn.wordpress.org/trunk@36704
git-svn-id: http://core.svn.wordpress.org/trunk@36671 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-25 04:55:25 +00:00
Pascal Birchler
8725644d40
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 .
Built from https://develop.svn.wordpress.org/trunk@36652
git-svn-id: http://core.svn.wordpress.org/trunk@36619 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-23 22:50:26 +00:00
Eric Lewis
04da8bb63a
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 .
Built from https://develop.svn.wordpress.org/trunk@36607
git-svn-id: http://core.svn.wordpress.org/trunk@36574 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-21 21:45:28 +00:00
Andrew Ozz
2d94e025a2
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 .
Built from https://develop.svn.wordpress.org/trunk@36569
git-svn-id: http://core.svn.wordpress.org/trunk@36536 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-18 00:24:27 +00:00
Boone Gorges
571e14f897
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 .
Built from https://develop.svn.wordpress.org/trunk@36566
git-svn-id: http://core.svn.wordpress.org/trunk@36533 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-17 22:58:26 +00:00
Drew Jaynes
c55f447ad4
Docs: Revert unintended changes in wp-includes/post.php, mistakenly included in [36497].
...
See #34988 . See #33701 .
Built from https://develop.svn.wordpress.org/trunk@36498
git-svn-id: http://core.svn.wordpress.org/trunk@36465 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-07 02:46:25 +00:00
Drew Jaynes
3785385ea2
Docs: Add a missing version to the file header for wp-admin/term.php, introduced in [36308].
...
See #34988 . See #33701 .
Built from https://develop.svn.wordpress.org/trunk@36497
git-svn-id: http://core.svn.wordpress.org/trunk@36464 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-07 02:43:26 +00:00
Boone Gorges
8db393ada6
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 .
Built from https://develop.svn.wordpress.org/trunk@36481
git-svn-id: http://core.svn.wordpress.org/trunk@36448 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-05 18:58:25 +00:00
Boone Gorges
de9d742b9a
Allow `is_post_type_viewable()` to accept a post type name.
...
Previously, it accepted only a post type object.
Props spacedmonkey.
Fixes #35609 .
Built from https://develop.svn.wordpress.org/trunk@36402
git-svn-id: http://core.svn.wordpress.org/trunk@36369 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-26 02:37:26 +00:00
Pascal Birchler
68f12521c8
Post Types: Introduce `unregister_post_type()`.
...
This new function can be used to completely unregister non built-in post types.
Fixes #14761 .
Built from https://develop.svn.wordpress.org/trunk@36316
git-svn-id: http://core.svn.wordpress.org/trunk@36283 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-15 12:20:27 +00:00
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
d0c1f44d21
Docs: Revert [36268] as the global is indeed used, just via the superglobal.
...
Fixes #35413 .
Built from https://develop.svn.wordpress.org/trunk@36269
git-svn-id: http://core.svn.wordpress.org/trunk@36236 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-12 12:26:27 +00:00
Pascal Birchler
14f073a154
Docs: Fix incorrect DocBlock for `wp_get_attachment_url()`.
...
The documented `$pagenow` global isn't used in the function.
Props sebastian.pisula.
Fixes #35413 .
Built from https://develop.svn.wordpress.org/trunk@36268
git-svn-id: http://core.svn.wordpress.org/trunk@36235 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-12 12:08:26 +00:00
Pascal Birchler
73317a33b6
Permalinks: Ensure the page hierarchy is correct for sample permalinks.
...
Fixes #35368 .
Built from https://develop.svn.wordpress.org/trunk@36253
git-svn-id: http://core.svn.wordpress.org/trunk@36220 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-10 18:28:28 +00:00
Sergey Biryukov
267c524a07
Docs: Correct `get_page_uri()` description.
...
Props ericlewis.
Fixes #35165 .
Built from https://develop.svn.wordpress.org/trunk@36143
git-svn-id: http://core.svn.wordpress.org/trunk@36109 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-01 18:29:27 +00:00
Andrew Ozz
597bbf0318
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.
Built from https://develop.svn.wordpress.org/trunk@36120
git-svn-id: http://core.svn.wordpress.org/trunk@36086 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-12-30 00:06:28 +00:00
Dion Hulse
d5d401ad10
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 .
Built from https://develop.svn.wordpress.org/trunk@36094
git-svn-id: http://core.svn.wordpress.org/trunk@36059 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-12-26 03:46:28 +00:00
Sergey Biryukov
7d9d7f2df4
Docs: Clarify that `get_post_types()` accepts `'not'` as its `$operator` parameter.
...
Props barryceelen.
Fixes #35225 .
Built from https://develop.svn.wordpress.org/trunk@36091
git-svn-id: http://core.svn.wordpress.org/trunk@36056 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-12-26 00:38:25 +00:00
John Blackbourn
1402c3d8b4
Docs: Miscellaneous docblock corrections.
...
See #32246
Built from https://develop.svn.wordpress.org/trunk@36069
git-svn-id: http://core.svn.wordpress.org/trunk@36034 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-12-23 06:31:27 +00:00
Sergey Biryukov
d5d5d64e3d
I18N: Use better context for post statuses.
...
See #35054 .
Built from https://develop.svn.wordpress.org/trunk@35903
git-svn-id: http://core.svn.wordpress.org/trunk@35867 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-12-13 19:18:26 +00:00
Drew Jaynes
2cad8ec9e3
Docs: Remove indentation from a wrapped line in the DocBlock description for `get_post_type_labels()` to prevent incorrect formatting when parsed.
...
With the false indentation in place, the parser for the Code Reference incorrectly interprets it as a block quote.
Fixes #35019 .
Built from https://develop.svn.wordpress.org/trunk@35868
git-svn-id: http://core.svn.wordpress.org/trunk@35832 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-12-11 18:42:27 +00:00
Eric Lewis
6be07725fb
Add inline documentation for `get_page_by_path()`.
...
Fixes #34964 .
Built from https://develop.svn.wordpress.org/trunk@35861
git-svn-id: http://core.svn.wordpress.org/trunk@35825 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-12-11 03:50:26 +00:00
Joe Hoyle
5031ca5c23
Prevent unnecessary $wpdb->update() when hierarchical post doesn't have children.
...
Props danielbachhuber.
Fixes #34896 .
Built from https://develop.svn.wordpress.org/trunk@35817
git-svn-id: http://core.svn.wordpress.org/trunk@35781 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-12-07 17:47:25 +00:00