Commit Graph

1138 Commits

Author SHA1 Message Date
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
Drew Jaynes
6069a4b2f6 Docs: Clarify the file header summary for wp-includes/post.php, the top-level file for the Post API.
See #33413. See #33701.

Built from https://develop.svn.wordpress.org/trunk@34401


git-svn-id: http://core.svn.wordpress.org/trunk@34365 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-22 13:13:26 +00:00
Scott Taylor
4cec121d0b Move Walker_Page and Walker_PageDropdown into their own files via svn cp. Remove them from post-template.php. Load them in post.php.
`post-template.php` loads after `post.php` in `wp-settings.php`. It could probably also be loaded in `post.php`, but avoiding that for the moment.

See #33413.

Built from https://develop.svn.wordpress.org/trunk@34109


git-svn-id: http://core.svn.wordpress.org/trunk@34077 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-14 02:59:24 +00:00
Scott Taylor
cd99e0cfff Posts: move WP_Post into its own file. post.php loads the new files, so this is 100% BC if someone is loading post.php directly. New files created using svn cp.
Creates: 
`class-wp-post.php` 
`post-functions.php` 

`post.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@33759


git-svn-id: http://core.svn.wordpress.org/trunk@33727 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-08-26 12:40:21 +00:00
Scott Taylor
ef87172270 foreach is a statement, not a function.
See #33491.

Built from https://develop.svn.wordpress.org/trunk@33734


git-svn-id: http://core.svn.wordpress.org/trunk@33702 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-08-25 20:28:22 +00:00
Scott Taylor
21c61251a2 With a few modifications in wp-admin/menu.php, we can eliminate the extra logic for Post and Page menu registration. Instead, they can just declare menu_position on post type registration.
Props scribu, wonderboymusic.
Fixes #16865.

Built from https://develop.svn.wordpress.org/trunk@33723


git-svn-id: http://core.svn.wordpress.org/trunk@33690 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-08-24 21:19:24 +00:00
Scott Taylor
4694c477d3 Custom Post Types:
* Introduce `is_post_type_viewable( $post_type_object )`
* Separate the HTML bits from the translatable bits in the `post` messages array in `edit-form-advanced.php`
* Don't show certain UI pieces when a post is not viewable on the front end

When a custom post type item is not viewable on the front end, we don't want to show links to View it (on the front end) all over the admin. We also want to hide the Preview link, et al. We also want our admin messages to not contain said links.

Custom post types with `public_queryable` set to `false` are not viewable on the front end. 
`'page'` is viewable on the front end, but `'page'` is a `_builtin` type, and `public_queryable` is set to `false` when it is registered - see `WP::parse_request()` for when `public_queryable` gets used.

This is confusing, but also somewhat straightforward: to determine if a post type is viewable on the front end, we can check one way for `_builtin => true` and another way for `_builtin => false`:

`$post_type->publicly_queryable || ( $post_type->_builtin && $post_type->public )`

If a post type is `publicly_queryable`, it's viewable. If that value is `false`, it is viewable if it's a `_builtin` type that is also `public`.

I am in search of edge cases, so this shall land.

Props wonderboymusic, DrewAPicture.
See #17609.

Built from https://develop.svn.wordpress.org/trunk@33666


git-svn-id: http://core.svn.wordpress.org/trunk@33633 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-08-20 19:40:25 +00:00
Scott Taylor
0b29061b3d Fix case type in docs for get_children().
Props bobbingwide.
Fixes #33364.

Built from https://develop.svn.wordpress.org/trunk@33637


git-svn-id: http://core.svn.wordpress.org/trunk@33604 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-08-18 21:39:24 +00:00
Boone Gorges
2f514a6115 When generating a fallback post_name using the post ID, wp_insert_post() should clear the post cache immediately.
If the post cache is not cleared at this point, the cache can become stale
for operations performed before the cache is cleared later in the function.
Specifically, the generation of a `guid` for new posts can use stale data,
resulting in non-unique values. [33262] introduced a call to `get_post()`
that introduced just such an invalidation problem.

Fixes #5305.
Built from https://develop.svn.wordpress.org/trunk@33630


git-svn-id: http://core.svn.wordpress.org/trunk@33597 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-08-18 02:51:26 +00:00
Dominik Schilling
70128fe760 Comments: IDs are integers.
Built from https://develop.svn.wordpress.org/trunk@33555


git-svn-id: http://core.svn.wordpress.org/trunk@33522 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-08-04 04:58:35 +00:00
Drew Jaynes
9cd32c7f6c Docs: Correct the possible return types and corresponding descriptions for wp_get_post_terms().
Props adamkheckler for the initial patch.
Fixes #32950.

Built from https://develop.svn.wordpress.org/trunk@33393


git-svn-id: http://core.svn.wordpress.org/trunk@33361 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-23 07:45:25 +00:00
Boone Gorges
0a24f1bebf Improve function description for wp_transition_post_status().
The documentation should make it clear that the function does not modify the
post object in the database, but only fires hooks related to the transition.

Props AramZS.
Fixes #33014.
Built from https://develop.svn.wordpress.org/trunk@33296


git-svn-id: http://core.svn.wordpress.org/trunk@33268 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-16 14:35:26 +00:00
Boone Gorges
28ce0320e3 In wp_unique_post_slug(), only prevent date archive conflicts when the slug is being changed.
This prevents existing posts with numeric slugs from having their permalinks
changed on update.

Fixes #5305.
Built from https://develop.svn.wordpress.org/trunk@33262


git-svn-id: http://core.svn.wordpress.org/trunk@33234 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-14 12:28:48 +00:00
Boone Gorges
5a1618b497 When creating a new post with an empty post_name and post_title, don't generate a post_name that conflicts with a date archive permalink.
See #5305.
Built from https://develop.svn.wordpress.org/trunk@33261


git-svn-id: http://core.svn.wordpress.org/trunk@33233 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-14 12:28:24 +00:00
Drew Jaynes
9e94263af1 Wrap a long changelog entry description in the DocBlock for get_post_type_labels().
See [32673]. See #32891.

Built from https://develop.svn.wordpress.org/trunk@33234


git-svn-id: http://core.svn.wordpress.org/trunk@33206 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-13 21:49:25 +00:00
Helen Hou-Sandí
30e478b1fb Move get_default_comment_status() to wp-includes/comment.php to sit alongside get_comment_statuses().
props nacin.
see #31168.

Built from https://develop.svn.wordpress.org/trunk@33122


git-svn-id: http://core.svn.wordpress.org/trunk@33093 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-08 15:44:28 +00:00
Konstantin Obenland
a4e803fbd4 Use get_default_comment_status() globally.
Also makes the filter name static and passes the post type for context.

Props valendesigns.
Fixes #31168.


Built from https://develop.svn.wordpress.org/trunk@33054


git-svn-id: http://core.svn.wordpress.org/trunk@33025 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-02 22:32:25 +00:00
Konstantin Obenland
edffcb0bcd Turn of comments for pages by default.
Pages are static content, for which comments are not expected out of the box.

Props valendesigns, rachelbaker.
Fixes #31168.


Built from https://develop.svn.wordpress.org/trunk@33041


git-svn-id: http://core.svn.wordpress.org/trunk@33012 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-07-02 00:22:24 +00:00
Scott Taylor
a28f09a32c Correct inline doc for $public in register_post_status().
Props ericlewis.
Fixes #32061.

Built from https://develop.svn.wordpress.org/trunk@32881


git-svn-id: http://core.svn.wordpress.org/trunk@32852 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-19 22:35:25 +00:00
John Blackbourn
f632756f16 Correct the docs for the post_type_labels_{$post_type} filter.
Fixes #32707
Props dlh

Built from https://develop.svn.wordpress.org/trunk@32849


git-svn-id: http://core.svn.wordpress.org/trunk@32820 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-18 21:33:27 +00:00
Scott Taylor
5c6b63d3a6 if is a statment, not a function.
See #32444.

Built from https://develop.svn.wordpress.org/trunk@32800


git-svn-id: http://core.svn.wordpress.org/trunk@32771 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-16 20:01:25 +00:00
Dominik Schilling
55f3b68c75 Nav Menus: Update wp_setup_nav_menu_item() to stop overriding empty properties from supplied $menu_item.
Update docs for `WP_Post` constructor to indicate that `WP_Post|object` can be the supplied param, as opposed to just `WP_Post`.

props westonruter.
fixes #32632.
Built from https://develop.svn.wordpress.org/trunk@32762


git-svn-id: http://core.svn.wordpress.org/trunk@32733 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-14 10:53:25 +00:00
Scott Taylor
107d5b088d page_template should be annotated as @property, not @property-read in WP_Post. The property is set on an instance in wp_insert_post()
Props morganestes.
Fixes #32515.

Built from https://develop.svn.wordpress.org/trunk@32729


git-svn-id: http://core.svn.wordpress.org/trunk@32700 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-06-12 17:01:24 +00:00
John Blackbourn
02192cb53f Introduce featured_image, set_featured_image, remove_featured_image, and use_featured_image post type labels when registering a post type in order to override the 'Featured Image' text and its related phrases.
Props johnbillion, mordauk, valendesigns.
Fixes #19257.

Built from https://develop.svn.wordpress.org/trunk@32673


git-svn-id: http://core.svn.wordpress.org/trunk@32643 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-31 16:54:27 +00:00
Boone Gorges
9f0c6cbf8c Disallow post slugs that will result in permalinks that conflict with date archive URLs.
On certain permalink structures, a numeric post slug will result in a post
permalink that conflicts with a date archive URL. For example, with permastruct
`/%year%/%monthnum%/%postname%/`, a post published in May 2015 with slug
`'15'` will result in a URL (`/2015/05/15/`) that conflicts with the archive
for May 15, 2015.

To avoid this problem, `wp_unique_post_slug()` rejects a requested slug when it
would generate a conflict of this type. Thus, in our example, `'15'` would
become `'15-2'`.

Props valendesigns, boonebgorges, Denis-de-Bernardy, loushou.
See #5305.
Built from https://develop.svn.wordpress.org/trunk@32647


git-svn-id: http://core.svn.wordpress.org/trunk@32617 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-29 12:53:24 +00:00
Scott Taylor
5ee54c05ac Add missing doc blocks to revision.php.
Clarify `@return` values where necessary.
In `wp_delete_post_revision()`, `wp_delete_post()` doesn't return `WP_Error`, so that check can be removed.
`wp_revisions_to_keep()` always returns an `int`, so `wp_revisions_enabled()` can use strict comparison.
 
See #32444.

Built from https://develop.svn.wordpress.org/trunk@32621


git-svn-id: http://core.svn.wordpress.org/trunk@32591 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-27 18:38:24 +00:00
Scott Taylor
2ebce023df Add missing doc blocks to post.php.
Clarify some existing values for `@param` and `@return`.
Some functions do not need to set a variable before immediately returning it.

See #32444.

Built from https://develop.svn.wordpress.org/trunk@32619


git-svn-id: http://core.svn.wordpress.org/trunk@32589 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-27 17:05:26 +00:00
Scott Taylor
af7a017f46 When calling unset(), it is unnecessary to immediately precede it with a call to isset().
See #32444.

Built from https://develop.svn.wordpress.org/trunk@32545


git-svn-id: http://core.svn.wordpress.org/trunk@32515 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-22 05:47:25 +00:00
Boone Gorges
9d54232e39 Streamline support for multiple post types in get_posts_by_author_sql().
* Don't accept a comma-separated list, only a single post type or an array of post types. This is easier to document.
* Add changelog entries to all calling functions.

Props DrewAPicture.
Fixes #32243.
Built from https://develop.svn.wordpress.org/trunk@32524


git-svn-id: http://core.svn.wordpress.org/trunk@32494 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-21 19:49:29 +00:00
Boone Gorges
67c935ad9c Support multiple post types in count_user_posts() and other functions that use get_posts_by_author_sql().
Props nikonratm.
Fixes #32243.
Built from https://develop.svn.wordpress.org/trunk@32523


git-svn-id: http://core.svn.wordpress.org/trunk@32493 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-21 18:43:27 +00:00
Boone Gorges
4cdf05f6bc Improve performance of get_page_children().
The new algorithm uses a hash table rather than function recursion, reducing
complexity to O(N). On large numbers of pages, the performance improvement is
several orders of magnitude.

Props santagada, hailin, mihai.
Fixes #10852.
Built from https://develop.svn.wordpress.org/trunk@32355


git-svn-id: http://core.svn.wordpress.org/trunk@32326 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-05 19:37:53 +00:00
Drew Jaynes
cbd07f213d Add two changelog entries for functional changes introduced in 4.2.0.
Props dimadin.
See #31925.

Built from https://develop.svn.wordpress.org/trunk@32350


git-svn-id: http://core.svn.wordpress.org/trunk@32321 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-05 02:16:25 +00:00
Boone Gorges
e59aaa4f67 Attachment URLs should only be forced to SSL on the front end.
Detecting SSL status on the Dashboard introduces problems when writing content
that is saved to the database and then displayed on the front end, where SSL
may be optional (or impossible, due to self-signed certificates). The new
approach parallels the logic in `get_home_url()` for forcing HTTPS.

See [31614] #15928 for background.

Fixes #32112 for trunk.
Built from https://develop.svn.wordpress.org/trunk@32342


git-svn-id: http://core.svn.wordpress.org/trunk@32313 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-04 13:10:27 +00:00
Dominik Schilling
64fc7294b6 Use HTTPS URLs for codex.wordpress.org.
see #27115.
Built from https://develop.svn.wordpress.org/trunk@32116


git-svn-id: http://core.svn.wordpress.org/trunk@32095 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-12 21:29:32 +00:00
Scott Taylor
bce851dcf2 Replace array_shift() with reset() where appropriate for performance.
Props SergeyBiryukov.
Fixes #31259.

Built from https://develop.svn.wordpress.org/trunk@31829


git-svn-id: http://core.svn.wordpress.org/trunk@31811 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-19 03:56:27 +00:00
Drew Jaynes
f50307c5d8 Clean up some inline documentation for emoji functionality, including a missing @since for mail_emoji(), and a changelog entry for wp_insert_post().
See #31242.

Built from https://develop.svn.wordpress.org/trunk@31789


git-svn-id: http://core.svn.wordpress.org/trunk@31769 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-16 01:43:28 +00:00
Gary Pendergast
46e2a65cf1 Add emoji support, with Twemoji fallback.
Replace exisiting smilies with equivalent emoji, or with shiny new smiley images where no emoji existed.

Props batmoo, joen and mkaz for the original plugin upon which this is based.

Props pento, iseulde, kraftbj and peterwilsoncc for making the internet's dreams come true.

See #31242


Built from https://develop.svn.wordpress.org/trunk@31733


git-svn-id: http://core.svn.wordpress.org/trunk@31714 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-11 22:49:28 +00:00
Drew Jaynes
b1a59e9d30 Add a missing @since 4.2.0 tag to the DocBlock for wp_attachment_is().
See #25275.

Built from https://develop.svn.wordpress.org/trunk@31660


git-svn-id: http://core.svn.wordpress.org/trunk@31641 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-07 07:12:28 +00:00
Drew Jaynes
b84904051b Better document parameters and the return for the newly-introduced wp_attachment_is().
Also adds a changelog entry to the DocBlock for `wp_attachment_is_image()` to denote that it serves as a wrapper for `wp_attachment_is()` as of 4.2.0.

See [31645]. See #25275.

Built from https://develop.svn.wordpress.org/trunk@31659


git-svn-id: http://core.svn.wordpress.org/trunk@31640 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-07 07:09:28 +00:00
Boone Gorges
b421255fc8 When passing $full to get_posts_by_author_sql(), make sure a 'post_type' clause is included in results.
This change makes the 'post_type' clause in `wp_list_authors()` redundant, so
we remove it. Third-party plugins using `get_posts_by_author_sql()` may have
similarly redundant clauses, but this won't change the results returned by the
SQL queries.

Also adds unit tests for `get_posts_by_author_sql()`.

Props pbearne.
Fixes #30354.
Built from https://develop.svn.wordpress.org/trunk@31653


git-svn-id: http://core.svn.wordpress.org/trunk@31634 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-07 01:15:28 +00:00
Scott Taylor
70aec9e406 Add unit tests for wp_attachment_is(), checks the whitelist and arbitrary extension.
See #25275.

Built from https://develop.svn.wordpress.org/trunk@31647


git-svn-id: http://core.svn.wordpress.org/trunk@31628 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-06 20:38:26 +00:00
Scott Taylor
aabe0bcc2c After [31645], for the default case, return the result of checking the extension against the passed type.
See #25275.

Built from https://develop.svn.wordpress.org/trunk@31646


git-svn-id: http://core.svn.wordpress.org/trunk@31627 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-06 20:28:26 +00:00
Scott Taylor
8f0b626d13 Introduce a function, wp_attachment_is( $type, $post = 0 ), to collapse the logic for determining whether an attachment is an image, audio, or video.
This is admittedly a first pass. There needs to be a generic handler for when any other type is passed, but for now it accepts the whitelist.

See #25275.

Built from https://develop.svn.wordpress.org/trunk@31645


git-svn-id: http://core.svn.wordpress.org/trunk@31626 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-06 20:26:26 +00:00
Boone Gorges
8c48f9400e In wp_get_attachment_url(), convert to HTTPS when possible.
`wp_get_attachment_url()`, via `wp_upload_dir()`, uses 'siteurl' to generate
attachment URLs. When a site is SSL-optional on the front end - ie, 'siteurl'
is non-HTTPS, but SSL is available - a number of situations can arise where
non-HTTPS attachment URLs cause browser mixed-content warnings:

a) SSL is forced in the admin and `wp_get_attachment_url()` is used to generate the `<img>` tag for an inserted image. In these cases, the post content will contain non-HTTPS. Viewing/editing this post in the Dashboard will result in non-HTTPS images being served in an SSL environment.
b) `wp_get_attachment_url()` is used in a theme to generate an `<img>` `src` attribute on a public page. When viewing that page over SSL, the images will have HTTP URLs.

This changeset switches attachment URLs to HTTPS when it's determined that the
host supports SSL. This happens when 'siteurl' is non-SSL, but the current page
request *is* over SSL, and the host of the current request matches the host of
the URL being generated.

Props joemcgill, boonebgorges.
Fixes #15928.
Built from https://develop.svn.wordpress.org/trunk@31614


git-svn-id: http://core.svn.wordpress.org/trunk@31595 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-03-05 02:39:24 +00:00
Scott Taylor
f6b1b01ecd Make a new function, wp_delete_file(). Use it.
Props scribu, wonderboymusic.
Fixes #17864.

Built from https://develop.svn.wordpress.org/trunk@31575


git-svn-id: http://core.svn.wordpress.org/trunk@31556 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-27 16:51:25 +00:00
Sergey Biryukov
224cb89878 Remove a stray single quote in wp_insert_post() documentation.
see #31359.
Built from https://develop.svn.wordpress.org/trunk@31496


git-svn-id: http://core.svn.wordpress.org/trunk@31477 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-22 09:50:25 +00:00
Drew Jaynes
1ffca1fcb6 Clarify and complete default argument documentation for wp_insert_post().
Props atimmer, SergeyBiryukov.
Fixes #31359.

Built from https://develop.svn.wordpress.org/trunk@31486


git-svn-id: http://core.svn.wordpress.org/trunk@31467 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-22 00:56:29 +00:00
Drew Jaynes
542a4bd98b Update the descriptions for transition_post_status() and the {$new_stats}_{$post->post_type} hook with more information about the expected behavior of transitioning post statuses.
In some cases, the values of `$old_status` and `$new_status` may be the same thing before and after a post status is "transitioned". An example of this would be the scenario where a published post is being updated: the status before and after the update both equal 'publish'.

Further, the documentation clarifies that if the intent is to only execute code when initially transitioningto a post status from something else, the 'transition_post_status' hook should be used instead of one of the dynamic hooks to avoid confusion.

Props Idealien for the initial patch.
Fixes #31099.

Built from https://develop.svn.wordpress.org/trunk@31461


git-svn-id: http://core.svn.wordpress.org/trunk@31442 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-14 09:11:28 +00:00
John Blackbourn
7520057038 Return a WP_Error if an empty name is provided when registering a post type.
Fixes #31134
Props tyxla, MikeHansenMe

Built from https://develop.svn.wordpress.org/trunk@31450


git-svn-id: http://core.svn.wordpress.org/trunk@31431 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-13 16:43:26 +00:00
Scott Taylor
fe6b5983df In PHP 5.0.0, is_a() became deprecated in favour of the instanceof operator. Calling is_a() would result in an E_STRICT warning.
In PHP 5.3.0, `is_a()` is no longer deprecated, and will therefore no longer throw `E_STRICT` warnings.

To avoid warnings in PHP < 5.3.0, convert all `is_a()` calls to `$var instanceof WP_Class` calls.

`instanceof` does not throw any error if the variable being tested is not an object, it simply returns `false`.

Props markoheijnen, wonderboymusic.
Fixes #25672.

Built from https://develop.svn.wordpress.org/trunk@31188


git-svn-id: http://core.svn.wordpress.org/trunk@31169 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-16 01:06:24 +00:00
Drew Jaynes
632c26d142 Remove an erroneous @internal tag from the DocBlock for get_children().
Use of the `@internal` tag caused the reference article for this function to be skipped during the parsing process.

Fixes #30987 for trunk.

Built from https://develop.svn.wordpress.org/trunk@31169


git-svn-id: http://core.svn.wordpress.org/trunk@31150 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-13 00:08:22 +00:00
Scott Taylor
fc843ce4d0 There are some random add_action() and add_filter() calls littered around some files in wp-includes/. These should be moved to wp-includes/default-filters.php with the rest of the registered hooks. It seems like this was the best practice for awhile and then we randomly stopped. This file loads way before any of the includes, so the hooks will be registered for any request that loads WordPress, even SHORTINIT - a lot of the hooks registered won't run anyways (that's already the case).
See #30947.

Built from https://develop.svn.wordpress.org/trunk@31168


git-svn-id: http://core.svn.wordpress.org/trunk@31149 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-12 16:40:23 +00:00
Scott Taylor
806b2e9bae get_post() takes $output as its 2nd param. The @return annotation should reflect the function's ability to return an array.
See #30799.

Built from https://develop.svn.wordpress.org/trunk@31132


git-svn-id: http://core.svn.wordpress.org/trunk@31113 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-10 21:38:23 +00:00
Scott Taylor
5547115dc2 Fix some @param docs that have chars too close them.
Add `@property` annotations to `WP_User` and `WP_Post`.
Remove erroneous `@param`s from image editor class methods.
Officially add the property `$_column_headers` to `WP_List_Table`.	

See #30799.

Built from https://develop.svn.wordpress.org/trunk@31127


git-svn-id: http://core.svn.wordpress.org/trunk@31108 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-10 06:57:22 +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
Sergey Biryukov
7685e9dc97 Skip building the query in wp_count_posts() if cached results are used.
props MikeHansenMe.
fixes #30928.
Built from https://develop.svn.wordpress.org/trunk@31058


git-svn-id: http://core.svn.wordpress.org/trunk@31039 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-06 16:58:26 +00:00
Scott Taylor
f79eb196df Improve the handling of comma-separated mime-types in wp_match_mime_types(), particularly as pertains to the mime-type selector on the Media list table screen.
Props mdgl.
Fixes #30788.

Built from https://develop.svn.wordpress.org/trunk@31042


git-svn-id: http://core.svn.wordpress.org/trunk@31023 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-04 02:32:22 +00:00
Scott Taylor
aa26b4c1a0 If you set '_wp_page_template' for a post, and then switch to a theme that doesn't support the template, subsequent calls to wp_insert_post() will bail early without running a plethora of hooks. This shouldn't happen. We should set the template to 'default' and continue through the rest of the function. The function will still bail if $wp_error is true via wp_insert_post( $arr, true ).
Props nofearinc.
Fixes #25334.

Built from https://develop.svn.wordpress.org/trunk@31020


git-svn-id: http://core.svn.wordpress.org/trunk@31001 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-01-01 20:35:30 +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
Scott Taylor
48620242c4 Give up on making uninterrupted hierarchies work in get_page_children() for now, reverts [30159], [30246], [30636].
Props boonebgorges.
See #14477.

Built from https://develop.svn.wordpress.org/trunk@30735


git-svn-id: http://core.svn.wordpress.org/trunk@30725 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-04 00:24:22 +00:00
Drew Jaynes
ad1f226c35 Improve formatting of inline documentation for get_pages().
Adds missing default values, corrects several argument types, backtick-escapes argument names used in descriptions.

See #28298.

Built from https://develop.svn.wordpress.org/trunk@30725


git-svn-id: http://core.svn.wordpress.org/trunk@30715 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-03 10:31:23 +00:00
Drew Jaynes
68ed7af808 Use the correct hash notation syntax for the get_pages() DocBlock.
See #28298.

Built from https://develop.svn.wordpress.org/trunk@30723


git-svn-id: http://core.svn.wordpress.org/trunk@30713 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-12-03 10:16:23 +00:00
Scott Taylor
9a8be964b6 Improve the @param docs for src/wp-includes/post*.php.
See #30224.

Built from https://develop.svn.wordpress.org/trunk@30671


git-svn-id: http://core.svn.wordpress.org/trunk@30661 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-30 22:37:22 +00:00
Drew Jaynes
7e532924c3 Docs Formatting: Backtick-escape inline code for all dynamic hook docs in wp-includes/post.php.
Affects DocBlocks for the following hooks:
* `post_type_labels_{$post_type}`
* `edit_{$field}`
* `{$field_no_prefix}_edit_pre`
* `pre_{$field}`
* `{$field_no_prefix}_save_pre`
* `{$field}_pre`
* `$field`
* `save_post_{$post->post_type}`
* `{$old_status}_to_{$new_status}`
* `{$new_status}_{$post->post_type}`

See #30552.

Built from https://develop.svn.wordpress.org/trunk@30653


git-svn-id: http://core.svn.wordpress.org/trunk@30643 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-30 11:56:22 +00:00
Scott Taylor
d12eb2e38e Ensure uniqueness when returning page lists in get_page_children(). Fixes failing unit tests.
Props boonebgorges.
Reverts [30246].
Fixes #14477.

Built from https://develop.svn.wordpress.org/trunk@30636


git-svn-id: http://core.svn.wordpress.org/trunk@30626 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-30 06:05:24 +00:00
John Blackbourn
db9b25fbc5 Check attachments as well as the current post type when checking for duplicate post slugs. This avoids creating a page with a slug which conflicts with an existing attachment (the inverse is already handled).
Updates the existing test for pages which should take priority over attachments in cases where an existing clash exists.

Fixes #18962
Props boonebgorges

Built from https://develop.svn.wordpress.org/trunk@30629


git-svn-id: http://core.svn.wordpress.org/trunk@30619 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-30 04:49:22 +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
John Blackbourn
b50cbe1f4f Correct an SQL syntax error introduced in r30158. Adds tests.
Fixes #30339
See #18962
Props julien731

Built from https://develop.svn.wordpress.org/trunk@30480


git-svn-id: http://core.svn.wordpress.org/trunk@30468 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-20 16:46:22 +00:00
Drew Jaynes
3e94d3a931 Fix incorrect documentation in the DocBlocks for get_lastpostmodified() and _get_last_post_time().
Props ericlewis for the initial patch.
Fixes #30249.

Built from https://develop.svn.wordpress.org/trunk@30287


git-svn-id: http://core.svn.wordpress.org/trunk@30287 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-08 21:08:45 +00:00
Drew Jaynes
92c153aa8c Fix the syntax for some status-related documentation introduced in [30155].
* Variables in DocBlocks should be backtick-escaped
* Parameter and return types should be as specific as possible
* `@param` types and variables should align with each other, but not intentionally with the `@return` description

See #30230.

Built from https://develop.svn.wordpress.org/trunk@30284


git-svn-id: http://core.svn.wordpress.org/trunk@30284 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-08 20:56:22 +00:00
Scott Taylor
03ea739661 In get_page_children(), only check $page->ancestors once to avoid duplicates when the function recurses. Adds an argument, $ancestors.
Fixes #18962.

Built from https://develop.svn.wordpress.org/trunk@30246


git-svn-id: http://core.svn.wordpress.org/trunk@30246 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-05 20:05:24 +00:00
Scott Taylor
878d074e84 Allow get_pages(), with child_of passed to it, to work with interrupted hierarchies.
Adds unit test.
Fixes #18962.

Built from https://develop.svn.wordpress.org/trunk@30159


git-svn-id: http://core.svn.wordpress.org/trunk@30159 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-01 20:44:21 +00:00
Scott Taylor
d5e4583475 All duplicate slugs across different post types.
Adds unit test.

Props mboynes, nacin.
Fixes #18962.

Built from https://develop.svn.wordpress.org/trunk@30158


git-svn-id: http://core.svn.wordpress.org/trunk@30158 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-01 20:37:24 +00:00
Scott Taylor
be08f576df Improve some post_status-related documentation.
Props ericlewis.
See #30230.

Built from https://develop.svn.wordpress.org/trunk@30155


git-svn-id: http://core.svn.wordpress.org/trunk@30155 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-11-01 20:20:23 +00:00
Drew Jaynes
66c47f29bb Correct references of @uses $wpdb in core documentation to use @global.
See #30191, [30105].
Fixes #30217.

Built from https://develop.svn.wordpress.org/trunk@30122


git-svn-id: http://core.svn.wordpress.org/trunk@30122 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-10-31 17:56:22 +00:00
Drew Jaynes
f8657d5890 Remove redundant and erroneous @uses tag from most core inline documentation.
Per our inline documentation standards, no further use of the `@uses` tag is recommended as used and used-by relationships can be derived through other means. This removes most uses of the tag in core documentation, with remaining tags to be converted to `@global` or `@see` as they apply.

Fixes #30191.

Built from https://develop.svn.wordpress.org/trunk@30105


git-svn-id: http://core.svn.wordpress.org/trunk@30105 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-10-30 01:05:24 +00:00
Sergey Biryukov
64d1fd2a8f When using 'show_in_menu' as a default value for 'show_in_admin_bar' in register_post_type(), cast to boolean instead of requiring a strict match.
props ipm-frommen.
fixes #30092.
Built from https://develop.svn.wordpress.org/trunk@30041


git-svn-id: http://core.svn.wordpress.org/trunk@30041 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-10-27 13:08:19 +00:00
Scott Taylor
fd4e3023d6 In wp_delete_attachment(): account for orphan sizes by looping over the sizes stored in metadata, instead of relying on the current sizes stored in $_wp_additional_image_sizes.
Props JoshuaAbenazer, desrosj, markoheijnen.
Fixes #24518.

Built from https://develop.svn.wordpress.org/trunk@29816


git-svn-id: http://core.svn.wordpress.org/trunk@29582 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-10-02 15:32:16 +00:00
Drew Jaynes
cca3890c84 Add some missing information to the inline docs for get_post_types().
* Improves the `@see` reference for `register_post_type()` to mention that it contains information about accepted arguments
* Adds a description of the accepted values for the `$operator` parameter
* Fixes a typo

Fixes #29721.

Built from https://develop.svn.wordpress.org/trunk@29752


git-svn-id: http://core.svn.wordpress.org/trunk@29524 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-09-21 08:55:18 +00:00
Sergey Biryukov
793f814303 Make sure the $parent argument of wp_insert_attachment() still works as expected after [28579].
prop jesin, dikiy_forester.
fixes #29646 for trunk.
Built from https://develop.svn.wordpress.org/trunk@29745


git-svn-id: http://core.svn.wordpress.org/trunk@29519 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-09-15 14:24:17 +00:00
John Blackbourn
d5156105b3 Correct the docblock for the registered_post_type action. Fixes #29184.
Built from https://develop.svn.wordpress.org/trunk@29468


git-svn-id: http://core.svn.wordpress.org/trunk@29246 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-11 21:21:16 +00:00
Scott Taylor
0fbddaa2d2 Unbreak Media Trash after [28788].
Props SergeyBiryukov.
Fixes #29080.

Built from https://develop.svn.wordpress.org/trunk@29337


git-svn-id: http://core.svn.wordpress.org/trunk@29117 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-08-01 15:15:17 +00:00
Sergey Biryukov
9c1d22a454 Avoid PHP notices in _count_posts_cache_key(), _update_blog_date_on_post_publish(), and _update_blog_date_on_post_delete() if post type is not registered.
props jesin.
fixes #28135.
Built from https://develop.svn.wordpress.org/trunk@29318


git-svn-id: http://core.svn.wordpress.org/trunk@29099 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-29 00:51:17 +00:00
Drew Jaynes
29f48882c8 Convert default arguments documentation for get_posts() into a hash notation.
Props coffee2code for the initial patch.
See #28841.

Built from https://develop.svn.wordpress.org/trunk@29113


git-svn-id: http://core.svn.wordpress.org/trunk@28899 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-11 23:34:15 +00:00
Drew Jaynes
61d1ecba20 Fix syntax for inline comment line endings and a few line wraps in wp-includes/post.php inline documentation.
Fixes #25412.

Built from https://develop.svn.wordpress.org/trunk@29097


git-svn-id: http://core.svn.wordpress.org/trunk@28883 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-11 18:35:16 +00:00
Drew Jaynes
47bdd8cbd0 General inline documentation improvements in wp-includes/post.php.
Final-run. Fixes #25412.

Built from https://develop.svn.wordpress.org/trunk@29094


git-svn-id: http://core.svn.wordpress.org/trunk@28880 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-11 11:16:15 +00:00
Drew Jaynes
877bbff728 General inline documentation improvements in wp-includes/post.php.
Third-run. See #25412.

Built from https://develop.svn.wordpress.org/trunk@29093


git-svn-id: http://core.svn.wordpress.org/trunk@28879 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-11 10:28:15 +00:00
Drew Jaynes
f820bb9fa3 General inline documentation improvements in wp-includes/post.php.
Second-run. See #25412.

Built from https://develop.svn.wordpress.org/trunk@29092


git-svn-id: http://core.svn.wordpress.org/trunk@28878 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-11 08:16:14 +00:00
Drew Jaynes
789960f242 Convert phpDoc for register_post_type() to use a hash notation for the $args array.
See #25412.

Built from https://develop.svn.wordpress.org/trunk@29091


git-svn-id: http://core.svn.wordpress.org/trunk@28877 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-11 07:56:14 +00:00
Drew Jaynes
4cf4a6b866 General inline documentation improvements in wp-includes/post.php.
First-run. See #25412.

Built from https://develop.svn.wordpress.org/trunk@29090


git-svn-id: http://core.svn.wordpress.org/trunk@28876 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-11 07:01:14 +00:00
Drew Jaynes
d4dd02b4ae Remove backticks on $post variables in some short parameter descriptions.
See [28653], [28654].
See #28388.

Built from https://develop.svn.wordpress.org/trunk@28976


git-svn-id: http://core.svn.wordpress.org/trunk@28765 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-03 19:28:14 +00:00
Drew Jaynes
6dd339f215 Specify the $single parameter default for get_post_meta(). Docs spacing.
See #28708.

Built from https://develop.svn.wordpress.org/trunk@28955


git-svn-id: http://core.svn.wordpress.org/trunk@28751 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-02 03:30:14 +00:00
Sergey Biryukov
81103f482a Mark $single parameter of get_post_meta() as optional.
props netweb.
fixes #28708.
Built from https://develop.svn.wordpress.org/trunk@28954


git-svn-id: http://core.svn.wordpress.org/trunk@28750 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-02 03:26:16 +00:00
Sergey Biryukov
a8d0832a15 Notify developers when register_post_type() or register_taxonomy() fails because of post type or taxonomy key length.
props mattheweppelsheimer.
fixes #28683.
Built from https://develop.svn.wordpress.org/trunk@28902


git-svn-id: http://core.svn.wordpress.org/trunk@28701 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-06-29 21:54:14 +00:00
Scott Taylor
8b3bb6cc2d Remove obsolete wp_cache_delete('get_pages', 'posts') from clean_post_cache().
Fixes #27459.

Built from https://develop.svn.wordpress.org/trunk@28875


git-svn-id: http://core.svn.wordpress.org/trunk@28674 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-06-28 02:16:14 +00:00
Scott Taylor
269bd96f65 Posts in the Trash should not drag attachment pages down with them.
Props ericlewis.
Fixes #14639.

Built from https://develop.svn.wordpress.org/trunk@28791


git-svn-id: http://core.svn.wordpress.org/trunk@28604 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-06-20 19:14:15 +00:00
Scott Taylor
33c096aa71 Reinstate the changes from [28579] with some adjustments:
* Check `! empty( $postarr['file'] )` before calling `update_attached_file()`
* Add a unit test: `test_update_attachment_fields()`
* Run the same logic for empty `guid` for attachments that always ran in `wp_insert_post()`, as per #18310. This fixes a unit test that would have broken when this ticket was marked closed.
* Updated the unit test in `Tests_Media::test_wp_prepare_attachment_for_js()` to account for `url` no longer being empty

Props kovshenin, wonderboymusic.
See #21963.

Built from https://develop.svn.wordpress.org/trunk@28788


git-svn-id: http://core.svn.wordpress.org/trunk@28601 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-06-20 18:27:14 +00:00
Scott Taylor
05eeb16e30 Replace all uses of like_escape() with $wpdb->esc_like().
Props miqrogroove.
See #10041.

Built from https://develop.svn.wordpress.org/trunk@28712


git-svn-id: http://core.svn.wordpress.org/trunk@28528 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-06-10 00:44:15 +00:00
Sergey Biryukov
f9792ed973 Correct @return value for get_children().
props ghost1227.
fixes #28422.
Built from https://develop.svn.wordpress.org/trunk@28677


git-svn-id: http://core.svn.wordpress.org/trunk@28495 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-06-05 15:53:14 +00:00
Drew Jaynes
b0a1f67b6b Be more specific that $post_id does not default to the ID of the global $post in some cases.
See [28654]. See #28388.

Built from https://develop.svn.wordpress.org/trunk@28655


git-svn-id: http://core.svn.wordpress.org/trunk@28473 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-06-03 04:52:15 +00:00
Drew Jaynes
3724252959 Ensure $post_id is documented as optional where applicable.
See #28388.

Built from https://develop.svn.wordpress.org/trunk@28654


git-svn-id: http://core.svn.wordpress.org/trunk@28472 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-06-03 04:44:16 +00:00
Andrew Nacin
3a2174002e Revert [28579] and [28582]. see #21963.
Built from https://develop.svn.wordpress.org/trunk@28601


git-svn-id: http://core.svn.wordpress.org/trunk@28426 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-28 18:14:15 +00:00
Scott Taylor
714aae91ea Fix some inline docs churn in wp_insert_post() after [28579].
Props kpdesign.
See #21963.


Built from https://develop.svn.wordpress.org/trunk@28582


git-svn-id: http://core.svn.wordpress.org/trunk@28407 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-27 00:24:15 +00:00
Scott Taylor
b184336927 Combine wp_insert_attachment() and wp_insert_post(). wp_insert_attachment() becomes a wrapper. Update inline docs.
Props wonderboymusic, DrewAPicture.
See #21963.

Built from https://develop.svn.wordpress.org/trunk@28579


git-svn-id: http://core.svn.wordpress.org/trunk@28404 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-26 23:20:13 +00:00
Scott Taylor
8d4d645629 Fix parsing in wp_match_mime_types() to allow some mime-types with + in them to appear in the list of filter links shown above the list table on upload.php.
Props _duck.
Fixes #20672.


Built from https://develop.svn.wordpress.org/trunk@28553


git-svn-id: http://core.svn.wordpress.org/trunk@28379 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-22 21:36:15 +00:00
Scott Taylor
f4661c6659 Eliminate the use of extract() in get_pages().
See #22400.

Built from https://develop.svn.wordpress.org/trunk@28471


git-svn-id: http://core.svn.wordpress.org/trunk@28298 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-17 17:12:15 +00:00
Scott Taylor
1bd4118799 Eliminate the use of extract() in wp_insert_attachment().
`wp_insert_attachment()` and `wp_insert_post()` are incredibly similar, but have branched logic. I have annotated many places where they diverge.

See #22400.

Built from https://develop.svn.wordpress.org/trunk@28470


git-svn-id: http://core.svn.wordpress.org/trunk@28297 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-17 16:54:14 +00:00
Scott Taylor
73a9ba7428 Eliminate the use of extract() in wp_insert_post().
See #22400.

Built from https://develop.svn.wordpress.org/trunk@28469


git-svn-id: http://core.svn.wordpress.org/trunk@28296 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-17 15:53:15 +00:00
Scott Taylor
ef8b813682 Eliminate use of extract() in trackback_url_list().
See #22400.

Built from https://develop.svn.wordpress.org/trunk@28382


git-svn-id: http://core.svn.wordpress.org/trunk@28210 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-13 04:44:15 +00:00
Scott Taylor
1aed1f1108 In get_pages(), $cache does not need to be reset to an empty array. update_post_cache( $pages ) takes care of priming.
In `set_post_thumbnail()`, (accidental) assignment is unnecessary for `$thumbnail_html` as it is not used. 

See #27882.

Built from https://develop.svn.wordpress.org/trunk@28332


git-svn-id: http://core.svn.wordpress.org/trunk@28160 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-05-06 21:39:14 +00:00
John Blackbourn
ab041987d3 Remove some unnecessary abstraction introduced in [28191]. See #27985.
Built from https://develop.svn.wordpress.org/trunk@28194


git-svn-id: http://core.svn.wordpress.org/trunk@28024 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-24 11:55:22 +00:00
John Blackbourn
d6e03df3c9 Avoid an expensive attachment counting query on the post editing screen. See #27985, for trunk.
Built from https://develop.svn.wordpress.org/trunk@28191


git-svn-id: http://core.svn.wordpress.org/trunk@28021 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-23 22:05:16 +00:00
Drew Jaynes
2d79af0e0a Part II of inline documentation for hooks in wp-includes/post.php.
Documents all remaining hooks following [28041] and [28042]. Also updates the hash notation style for `wp_insert_post()`.

Props nacin for several hook descriptions.

Fixes #25376.

Built from https://develop.svn.wordpress.org/trunk@28106


git-svn-id: http://core.svn.wordpress.org/trunk@27937 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-13 23:06:14 +00:00
Drew Jaynes
a55d734f60 Clarify documentation for hooks in sanitize_post_field().
* `edit_post_{$field}` pairs with `edit_{$field}`
* `pre_post_{$field}` pairs with `pre_{$field}`
* `post_{$field}` pairs with `{$field}`

As the above pairs' docs are unnecessarily duplicative, the second sets of docs have been removed. Also, the "duplicates" are purposely not marked as such in this case as the hook names differ. Also remove `@deprecated` tags mistakenly left in in [28041].

See #25376.

Built from https://develop.svn.wordpress.org/trunk@28042


git-svn-id: http://core.svn.wordpress.org/trunk@27872 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-08 07:41:14 +00:00
Drew Jaynes
07ee43d6d0 Part I of inline documenation for hooks in wp-includes/post.php.
Adds docs for the following hooks:
* `get_attached_file`
* `update_attached_file`
* `_wp_relative_upload_path`
* `post_type_labels_{$post_type}`
* `edit_{$field}`
* `{$field_no_prefix}_edit_pre`
* `edit_post_{$field}`
* `pre_{$field}`
* `{$field_no_prefix}_save_pre`
* `pre_post_{$field}`
* `{$field}_pre`
* `$field`
* `post_{$field}`
* `wp_count_posts`
* `wp_count_attachments`
* `post_mime_types`
* `wp_insert_post_empty_content`

See #25376.

Built from https://develop.svn.wordpress.org/trunk@28041


git-svn-id: http://core.svn.wordpress.org/trunk@27871 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-04-08 06:49:14 +00:00
Drew Jaynes
cebbcd473c Fix the wp_count_attachments() PHPDoc to reflect that it returns an object, not array.
See #25412.

Built from https://develop.svn.wordpress.org/trunk@27807


git-svn-id: http://core.svn.wordpress.org/trunk@27641 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-28 05:43:15 +00:00
Scott Taylor
0a2e85d3f0 Use wp_parse_id_list() when parsing exclude_tree in get_pages(). Add unit tests to ensure a URL string, array with string as value, and array with array as value for exclude_tree can be used to specify multiple IDs.
Props cgaffga, roothorick, hakre, tbrams for patches across the years.
Fixes #9153.


Built from https://develop.svn.wordpress.org/trunk@27767


git-svn-id: http://core.svn.wordpress.org/trunk@27604 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-27 01:18:14 +00:00
Helen Hou-Sandí
52d2920891 Use Dashicon-style images for mime type icons. Actually moving to Dashicons via the font can be explored later, but has theme/plugin implications and requires too many changes to make it for 3.9. props melchoyce for the icons. fixes #26650.
Built from https://develop.svn.wordpress.org/trunk@27726


git-svn-id: http://core.svn.wordpress.org/trunk@27563 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-25 21:10:15 +00:00
Scott Taylor
38d1fb971f Turn on thumbnail support for attachment:audio and attachment:video. Change conditionals to check for theme OR post type support when determining whether to turn on the Featured Image UI pieces in the admin.
Fixes #27460.


Built from https://develop.svn.wordpress.org/trunk@27657


git-svn-id: http://core.svn.wordpress.org/trunk@27500 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-23 02:35:14 +00:00
Drew Jaynes
da19fc531c Better standardize parameter value types in PHPDocs where both a post ID or WP_Post would be acceptable.
Covers cases where previously only `int` or `int|object` types were notated.

Props coffee2code for the original patch.
See #20495.

Built from https://develop.svn.wordpress.org/trunk@27473


git-svn-id: http://core.svn.wordpress.org/trunk@27318 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-08 19:32:16 +00:00
Andrew Nacin
17ccbc86c9 Rename the new page_templates filter to theme_page_templates, and pass it a post object for proper context.
see #13265.

Built from https://develop.svn.wordpress.org/trunk@27470


git-svn-id: http://core.svn.wordpress.org/trunk@27315 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-08 04:19:16 +00:00
John Blackbourn
3a0a98205c Allow get_page_by_path() and get_page_by_title() to accept an array of post types. Fixes #24763. Props zbtirrell.
Built from https://develop.svn.wordpress.org/trunk@27423


git-svn-id: http://core.svn.wordpress.org/trunk@27270 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-03-05 22:26:15 +00:00
Andrew Nacin
d24a109288 Revert [27115] and let cache backends handle the stripping of spaces in cache keys as necessary.
microtime() returns greater precision than microtime(true).

see #27000, #23448, #26903, #14485.

Built from https://develop.svn.wordpress.org/trunk@27300


git-svn-id: http://core.svn.wordpress.org/trunk@27153 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-26 22:05:13 +00:00
Drew Jaynes
cb8951b0b3 Remove all @package and @subpackage PHPDoc tags not at the file- or class-levels in core.
See #27200.

Built from https://develop.svn.wordpress.org/trunk@27262


git-svn-id: http://core.svn.wordpress.org/trunk@27119 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-25 17:14:14 +00:00
Sergey Biryukov
ab8847316c Correct return values for update_metadata() and related functions.
fixes #21864.
Built from https://develop.svn.wordpress.org/trunk@27191


git-svn-id: http://core.svn.wordpress.org/trunk@27050 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-18 21:36:14 +00:00
Drew Jaynes
8c9f7965af Inline documentation for the wp_insert_attachment_data filter hook, added in [27130].
Fixes #20547.

Built from https://develop.svn.wordpress.org/trunk@27138


git-svn-id: http://core.svn.wordpress.org/trunk@27005 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-08 22:47:12 +00:00
Scott Taylor
cbc1b90633 Add a filter wp_insert_attachment_data in wp_insert_attachment(). This is similar to the wp_insert_post_data filter in wp_insert_post().
Fixes #20547.


Built from https://develop.svn.wordpress.org/trunk@27130


git-svn-id: http://core.svn.wordpress.org/trunk@26997 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-08 00:44:13 +00:00
Andrew Nacin
084a7b50cd Use a float for last_changed microtime cache values.
microtime() by default returns a string with a space, which isn't allowed for keys in some cache backends.

props _jameslee, drozdz.
fixes #27000. see #23448.

Built from https://develop.svn.wordpress.org/trunk@27115


git-svn-id: http://core.svn.wordpress.org/trunk@26982 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-07 08:14:12 +00:00
Scott Taylor
4830eeb9ad Properly invalidate the cache for wp_count_posts() on insert, trash, or when transitioning post_status inside of _transition_post_status(). Introduces _count_posts_cache_key(). Adds unit tests.
Props mark8barnes, for bringing this to our attention in an initial patch.
Fixes #21879.


Built from https://develop.svn.wordpress.org/trunk@27081


git-svn-id: http://core.svn.wordpress.org/trunk@26954 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-03 19:42:13 +00:00
Drew Jaynes
edce7b88b5 Improve inline documentation for add_post_type_support().
Props philiparthurmoore.
Fixes #26683.

Built from https://develop.svn.wordpress.org/trunk@26911


git-svn-id: http://core.svn.wordpress.org/trunk@26792 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-01-07 02:05:11 +00:00
Sergey Biryukov
0ddaa76f3e Use correct example of a Dashicons helper class in add_menu_page() and register_post_type() docs.
props Rarst.
fixes #26617 for trunk.
Built from https://develop.svn.wordpress.org/trunk@26884


git-svn-id: http://core.svn.wordpress.org/trunk@26767 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-31 10:33:11 +00:00
Andrew Nacin
9b29ad0529 Allow for Dashicons and base64-encoded data:image/svg+xml URIs when specifying menu icons.
Both of these icons can be colored to match the color scheme, including hover states.
Both are accepted for register_post_type()'s menu_icon argument, and also add_menu_page()'s $icon_url argument.

To use a Dashicon, pass the name of the helper class, e.g. 'dashicons-piechart'.
To use an SVG, pass a valid data URI string starting with 'data:image/svg+xml;base64,'.

props helen.
fixes #25147.

Built from https://develop.svn.wordpress.org/trunk@26664


git-svn-id: http://core.svn.wordpress.org/trunk@26554 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-05 06:38:09 +00:00
Andrew Nacin
6fa4ce2284 Return false from wp_delete_post() and wp_delete_attachment() if the DELETE is unsuccessful.
This prevents attachments from being deleted off disk when a DB is locked and the delete is otherwise unsuccessful.

fixes #25107.

Built from https://develop.svn.wordpress.org/trunk@26543


git-svn-id: http://core.svn.wordpress.org/trunk@26435 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-12-02 22:59:10 +00:00
Scott Taylor
295851d0bb In get_posts(), alter the doc block and default args to make orderby equal to date, not post_date.
Props ounziw.
Fixes #26128.


Built from https://develop.svn.wordpress.org/trunk@26329


git-svn-id: http://core.svn.wordpress.org/trunk@26231 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-11-22 17:39:10 +00:00
Andrew Nacin
d0cfa40983 Add jshintrc to qunit.
props jorbin.
see #25187.

Built from https://develop.svn.wordpress.org/trunk@25992


git-svn-id: http://core.svn.wordpress.org/trunk@25925 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-30 14:39:10 +00:00
Andrew Nacin
5361a8abca Spell out duplicate hook locations.
props DrewAPicture.
fixes #25658.

Built from https://develop.svn.wordpress.org/trunk@25868


git-svn-id: http://core.svn.wordpress.org/trunk@25868 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-24 22:59:20 +00:00
Andrew Nacin
8ae8e01b67 Remove the old wp_auto_updates_maybe_update cron event. Schedule the new wp_maybe_auto_update event at 7 a.m. and 7 p.m. in the site's timezone.
see #27704.

Built from https://develop.svn.wordpress.org/trunk@25825


git-svn-id: http://core.svn.wordpress.org/trunk@25825 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-24 22:53:14 +00:00
Andrew Nacin
74488bdcb0 Spell out duplicate hook locations.
props DrewAPicture.
fixes #25658.

Built from https://develop.svn.wordpress.org/trunk@25868


git-svn-id: http://core.svn.wordpress.org/trunk@25780 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-22 17:22:11 +00:00
Andrew Nacin
5b6bcb218d Reset "Page on Front" when such a page is trashed.
props danielbachhuber.
fixes #24171.

Built from https://develop.svn.wordpress.org/trunk@25686


git-svn-id: http://core.svn.wordpress.org/trunk@25602 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-03 03:51:09 +00:00
Dominik Schilling
e4c8d56b76 Replace use of global $user_ID in favor of get_current_user_id(). fixes #25372.
Built from https://develop.svn.wordpress.org/trunk@25669


git-svn-id: http://core.svn.wordpress.org/trunk@25585 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-02 21:10:09 +00:00
Scott Taylor
3f42db549c post_content does not have a default value in the $wpdb->posts table. Add a default value of empty string to wp_insert_attachment() to avoid a tornado of database errors in PHP 5.5/MySQL 5.6, even when debug mode is turned off.
See #25282.


Built from https://develop.svn.wordpress.org/trunk@25661


git-svn-id: http://core.svn.wordpress.org/trunk@25577 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-10-02 19:52:09 +00:00
Drew Jaynes
82904baffd Improve inline documentation for wp_insert_post() by adding a hash notation.
See #25412.

Built from https://develop.svn.wordpress.org/trunk@25628


git-svn-id: http://core.svn.wordpress.org/trunk@25545 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-25 17:34:08 +00:00
Drew Jaynes
38b7b3a1c5 Clarify inline documentation for the return in get_attached_file().
Fixes #25409.

Built from https://develop.svn.wordpress.org/trunk@25609


git-svn-id: http://core.svn.wordpress.org/trunk@25526 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-24 21:29:08 +00:00
Andrew Nacin
71263c4854 Use correct variable. props helen. see #17071.
Built from https://develop.svn.wordpress.org/trunk@25581


git-svn-id: http://core.svn.wordpress.org/trunk@25498 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-23 20:18:10 +00:00
Andrew Nacin
8fa6e99edc Introduce a wp_count_attachments filter.
props kevinB.
fixes #17071.

Built from https://develop.svn.wordpress.org/trunk@25579


git-svn-id: http://core.svn.wordpress.org/trunk@25496 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-23 19:11:09 +00:00
Andrew Nacin
a4040ea928 In wp_count_posts(), rename 'count_posts' hook to 'wp_count_posts', for clarity. see #16603.
Built from https://develop.svn.wordpress.org/trunk@25578


git-svn-id: http://core.svn.wordpress.org/trunk@25495 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-23 19:08:09 +00:00
Andrew Nacin
5febb6045f Introduce a meta_box_cb argument for register_taxonomy().
The specified callback function is used as the meta box callback for the taxonomy.

props garyc40, helen.
fixes #14206.

Built from https://develop.svn.wordpress.org/trunk@25572


git-svn-id: http://core.svn.wordpress.org/trunk@25489 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-23 17:12:10 +00:00
Scott Taylor
8697ae572e Add hooks to wp_count_posts(). Adds filter docs. Adds unit test to test count_posts filter.
Props nacin, DrewAPicture. 
Fixes #16603.


Built from https://develop.svn.wordpress.org/trunk@25554


git-svn-id: http://core.svn.wordpress.org/trunk@25474 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-21 17:55:08 +00:00
Scott Taylor
ae4cf7665a Add @access private to _get_custom_object_labels(), which was already implied by the dangling underscore. Cast $labels to array in get_taxonomy_labels() and _get_custom_object_labels().
Props nacin, foofy.
Fixes #16310.


Built from https://develop.svn.wordpress.org/trunk@25553


git-svn-id: http://core.svn.wordpress.org/trunk@25473 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-21 17:44:09 +00:00
Scott Taylor
8bd9659d0d Move checks for post_type being an array inline. See [25291], [25292], #18614.
Built from https://develop.svn.wordpress.org/trunk@25312


git-svn-id: http://core.svn.wordpress.org/trunk@25274 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-10 03:02:10 +00:00
Scott Taylor
d7704991b3 Check the value passed to get_post_type_object(). If it's an array, use the first item. get_query_var( 'post_type' ) can be an array if the query has been altered via filters/actions. There are several places in core that pass the query var. Adds unit tests.
In `template-loader.php`, move `is_post_type_archive()` and `is_tax()` directly below `is_home()`.

See #18614, [25291].


Built from https://develop.svn.wordpress.org/trunk@25292


git-svn-id: http://core.svn.wordpress.org/trunk@25256 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-06 23:39:09 +00:00
Andrew Nacin
4b40e7a646 More adjustments and improvements for inline documentation for get_pages(). see #25186.
Built from https://develop.svn.wordpress.org/trunk@25271


git-svn-id: http://core.svn.wordpress.org/trunk@25237 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-06 01:21:09 +00:00
Scott Taylor
54c5a75e68 Simplify the check for false-y child_of arg.
Props SergeyBiryukov.
See #25230, [25245].


Built from https://develop.svn.wordpress.org/trunk@25270


git-svn-id: http://core.svn.wordpress.org/trunk@25236 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-05 23:36:10 +00:00
Scott Taylor
cc41e7d04a Fix spacing in docs for get_pages().
Props DrewAPicture.
See #25186.


Built from https://develop.svn.wordpress.org/trunk@25268


git-svn-id: http://core.svn.wordpress.org/trunk@25234 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-05 23:21:10 +00:00
Scott Taylor
1855f97a2c Add docs to the woefully under-documented get_pages().
Props DrewAPicture.
Fixes #25186.


Built from https://develop.svn.wordpress.org/trunk@25266


git-svn-id: http://core.svn.wordpress.org/trunk@25232 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-05 22:13:09 +00:00
Scott Taylor
d1a40562eb Add check to make sure a valid argument was passed to get_page_uri().
Props Viper007Bond.
Fixes #24491.



Built from https://develop.svn.wordpress.org/trunk@25262


git-svn-id: http://core.svn.wordpress.org/trunk@25230 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-05 21:42:10 +00:00
Scott Taylor
6253183ffc Set hierarchical to false when parent is passed to get_pages() and child_of is not.
Fixes #25230.


Built from https://develop.svn.wordpress.org/trunk@25245


git-svn-id: http://core.svn.wordpress.org/trunk@25213 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-04 21:00:09 +00:00
Scott Taylor
bf6da40cfc Allow get_pages() to accept an array for the arg parent. Adds unit tests, some will fail until the next commit.
Fixes #9470.


Built from https://develop.svn.wordpress.org/trunk@25244


git-svn-id: http://core.svn.wordpress.org/trunk@25212 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-04 20:56:09 +00:00
Scott Taylor
f1a33028f6 Allow int to be passed in lieu of array, add append arg to wp_set_post_categories(). Adds more extensive unit tests for wp_set_post_categories().
Props ptahdunbar for initial patch.
Fixes #16550.


Built from https://develop.svn.wordpress.org/trunk@25234


git-svn-id: http://core.svn.wordpress.org/trunk@25204 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-09-04 17:42:10 +00:00
Jon Cave
93b2edbbba Correct rewrite tag for hierarchical post types without a query_var.
Hierarchical rewrite rules operate via the 'pagename' query variable which is
passed to get_page_by_path(). However, the current rewrite rules use the 'name'
query variable for hierarchical types without a custom query_var.

Fixes #16323.

Built from https://develop.svn.wordpress.org/trunk@25182


git-svn-id: http://core.svn.wordpress.org/trunk@25154 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-08-30 08:08:09 +00:00
Scott Taylor
7c1ea6c95c No need to re-map the return values of wp_parse_id_list() to int.
See #22074, #11823.


Built from https://develop.svn.wordpress.org/trunk@25169


git-svn-id: http://core.svn.wordpress.org/trunk@25145 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-08-29 18:54:09 +00:00
Scott Taylor
0624fe960b Improve the include / exclude SQL generation in get_pages() by using IN and NOT IN where applicable. Adds unit tests for include / exclude.
Fixes #22074.


Built from https://develop.svn.wordpress.org/trunk@25168


git-svn-id: http://core.svn.wordpress.org/trunk@25144 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-08-29 18:49:09 +00:00
Scott Taylor
8e6abf65a8 Respect the fields arg when passed to get_children().
Fixes #22208.


Built from https://develop.svn.wordpress.org/trunk@25160


git-svn-id: http://core.svn.wordpress.org/trunk@25139 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-08-29 15:08:12 +00:00
Dominik Schilling
357f52eed7 Improve inline docs for register_post_type() and register_taxonomy().
* register_taxonomy: Use the same doc format for the associative array arg as used for register_post_type()
* register_taxonomy: Improve docs for _builtin, capabilities, hierarchical and rewrite args
* register_taxonomy: Use the same order in $defaults as in docblock
* register_taxonomy: Replace is_null with null ===, to be consistent
* register_post_type: Use the same order in $defaults as in docblock
* register_post_type: Improve docs for @uses and default fallbacks
And while we're on it: Whitespaces.

fixes #25150.
Built from https://develop.svn.wordpress.org/trunk@25130


git-svn-id: http://core.svn.wordpress.org/trunk@25110 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-08-26 20:24:08 +00:00
Sergey Biryukov
b86ea82b12 Fix typo in phpdoc. props jamescollins. fixes #25092.
Built from https://develop.svn.wordpress.org/trunk@25097


git-svn-id: http://core.svn.wordpress.org/trunk@25079 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-08-22 23:48:09 +00:00
Andrew Nacin
fa4c7a1feb PHPDoc for WP_Post properties. fixes #25092.
Built from https://develop.svn.wordpress.org/trunk@25086


git-svn-id: http://core.svn.wordpress.org/trunk@25070 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-08-22 15:58:09 +00:00
Scott Taylor
a9dc60c9a8 Improve inline docs for function params that can be serialized when non-scalar. Fixes #18488.
Built from https://develop.svn.wordpress.org/trunk@25076


git-svn-id: http://core.svn.wordpress.org/trunk@25061 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-08-21 21:11:09 +00:00
Dominik Schilling
8ad024f30a Introduce save_post_{$post_type} hook.
The hook is fired before the general save_post hook and has the same args as save_post.

props bmb, SergeyBiryukov, ocean90, fixes #16176.
Built from https://develop.svn.wordpress.org/trunk@25050


git-svn-id: http://core.svn.wordpress.org/trunk@25037 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-08-17 20:21:09 +00:00
Andrew Nacin
08c4061af7 In get_attached_file(), fix the explanation of when the filter is bypassed. props devesine, fixes #24571.
git-svn-id: http://core.svn.wordpress.org/trunk@24983 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-08-05 22:07:42 +00:00
Andrew Nacin
487327cf4e Pass $update = true to the save_post and wp_insert_post hooks in wp_publish_post().
see #21450, [24823].

props wpsmith.
fixes #24957.


git-svn-id: http://core.svn.wordpress.org/trunk@24977 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-08-05 21:41:51 +00:00
Andrew Nacin
c95a24f2d9 When registering a post type, pass the correct argument for feeds to add_permastruct().
props butuzov, johnpbloch.
fixes #23302.



git-svn-id: http://core.svn.wordpress.org/trunk@24830 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-28 22:28:18 +00:00
Andrew Nacin
87f9d112c0 Return an empty stdClass from wp_count_posts() when a nonexistent post type is requested.
props johnpbloch.
fixes #24803.



git-svn-id: http://core.svn.wordpress.org/trunk@24826 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-28 21:38:00 +00:00
Andrew Nacin
aa6d93cd3e Pass $update to the save_post and wp_insert_post hooks in wp_insert_post(). props ericmann, fixes #21450.
git-svn-id: http://core.svn.wordpress.org/trunk@24823 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-28 21:05:25 +00:00
Michael Adams
f993cfd8e3 Fix inline docs for posts functions that no longer use $wpdb.
Props jdgrimes, JustinSainton.


git-svn-id: http://core.svn.wordpress.org/trunk@24807 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-28 18:52:56 +00:00
Andrew Nacin
df0ac70aff Add a default post_title value to wp_insert_attachment() to avoid a notice when there is no ID3 title.
props wonderboymusic.
see #24805.



git-svn-id: http://core.svn.wordpress.org/trunk@24759 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-20 20:20:47 +00:00
Andrew Nacin
ab72605607 More clear and concise escaping in get_page_by_path(). see #21767.
git-svn-id: http://core.svn.wordpress.org/trunk@24715 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-16 14:23:29 +00:00
Andrew Nacin
092a33115c Remove wp_parse_post_content(), get_paged_content(), paginate_content() from 3.6, and remove the new $id parameters for get_the_content() and the_content().
The content parsing functions are good abstractions, but are no longer needed by core and are too closely tied to legacy globals, rather than paving a new path.

For get_the_content() and the_content(), this only worsens the function prototype. It muddies theme-specific display (more links, etc) with filtered content. `apply_filters( 'the_content', $post->post_content )` is sufficient practice for now.

see #24330, [24301]. see #23625, [23804].



git-svn-id: http://core.svn.wordpress.org/trunk@24598 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-07-09 05:22:50 +00:00
Sergey Biryukov
58c364947f PHPDoc fixes and additions. fixes #24616.
git-svn-id: http://core.svn.wordpress.org/trunk@24490 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-06-21 12:45:11 +00:00
Mark Jaquith
28e3c51dab Lose content removal and splitting from the media extraction functions.
see #24484

git-svn-id: http://core.svn.wordpress.org/trunk@24400 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-06-03 19:27:58 +00:00
Mark Jaquith
89fd06e44b First pass at removing Post Format UI.
see #24452. fixes #24455.

git-svn-id: http://core.svn.wordpress.org/trunk@24388 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-05-30 21:33:46 +00:00
Ryan Boren
a2b4bc456f * Introduce wp_parse_post_content() and use it in setup_postdata(), get_the_content(), and get_the_remaining_content().
* Add a post ID argument to the_content(), get_the_content(), the_remaining_content(), and get_the_remaining_content().
* Pass the post ID to the the_content filter.
* Remove the format_pages global.
* Declare format_content and split_content as vars in WP_Post.
* phpdoc for the the_content filter that documents the new ID argument and denotes it as not-so-portable.

Props gcorne, DrewAPicture, duck_, aaroncampbell
see #24330


git-svn-id: http://core.svn.wordpress.org/trunk@24301 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-05-20 11:05:50 +00:00
Sergey Biryukov
396166203e Fix handling of '0' as meta_value argument in get_pages(). fixes #20376.
git-svn-id: http://core.svn.wordpress.org/trunk@24238 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-05-10 19:18:54 +00:00
Sergey Biryukov
74638ccb5a Fix typos in phpdoc. props TheLastCicada. fixes #24302.
git-svn-id: http://core.svn.wordpress.org/trunk@24229 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-05-10 01:39:30 +00:00
Sergey Biryukov
57c10eadbb Use ellipsis instead of three dots. props tjsingleton, jordie23, wojtek.szkutnik, DrewAPicture, SergeyBiryukov. see #8714.
git-svn-id: http://core.svn.wordpress.org/trunk@24207 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-05-08 21:27:31 +00:00
Andrew Nacin
92b4636e17 Required arguments can't follow optional arguments.
Make required arguments optional in confirm_blog_signup().

Mark arguments as required in _future_post_hook(), the walker method display_element(), get_author_link() (deprecated), and the WP_Widget constructor.

props rlerdorf.
see #24210.



git-svn-id: http://core.svn.wordpress.org/trunk@24126 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-04-29 13:26:31 +00:00
Mark Jaquith
7c1ef6c33a Use get_post_format() instead of assuming we already have it.
* Fixes an issue where image posts without a title could not be deleted

fixes #23887. see #24046. props WraithKenny, SergeyBiryukov.

git-svn-id: http://core.svn.wordpress.org/trunk@24015 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-04-17 17:49:44 +00:00
Mark Jaquith
259f4fdef4 Allow the content of no-title audio, video, quote, and image posts to be blanked.
props wonderboymusic. fixes #23623.

git-svn-id: http://core.svn.wordpress.org/trunk@23986 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-04-14 01:43:01 +00:00
Mark Jaquith
cccb2939db Fix a longstanding "off by one" revision authorship bug.
* Fixes old revision data on the fly when you open a post for editing.
* Uses post_name of revisions to store a post version number (-v1), so we know what has been fixed.
* Latest version should also have a revision stored, whereas before it did not.

props adamsilverstein, mdawaffe. fixes #16215.

git-svn-id: http://core.svn.wordpress.org/trunk@23823 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-03-27 20:21:38 +00:00
Ryan Boren
77f431ec4c Bail early with correct WP_Error when an invalid post ID is passed to wp_insert_post() and wp_update_post().
Props simonwheatley
fixes #23474


git-svn-id: http://core.svn.wordpress.org/trunk@23740 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-03-18 14:33:09 +00:00
Sergey Biryukov
27298cd802 Remove redundant code from post_type_supports() and remove_post_type_support(). props obenland, bilalcoder. fixes #21527.
git-svn-id: http://core.svn.wordpress.org/trunk@23722 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-03-15 18:28:33 +00:00
Andrew Nacin
3828d67fad Allow get_post_ancestors() to inspect the $post global, when null/0 is received. see #23708.
git-svn-id: http://core.svn.wordpress.org/trunk@23635 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-03-07 06:49:46 +00:00
Ryan Boren
315bfb019a Use wp_unslash() instead of stripslashes() and stripslashes_deep(). Use wp_slash() instead of add_magic_quotes().
see #21767


git-svn-id: http://core.svn.wordpress.org/trunk@23594 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-03-03 21:11:40 +00:00
Ryan Boren
43a7e695e9 Revert 23416, 23419, 23445 except for wp_reset_vars() changes. We are going a different direction with the slashing cleanup, so resetting to a clean slate. see #21767
git-svn-id: http://core.svn.wordpress.org/trunk@23554 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-03-01 16:28:40 +00:00
Andrew Nacin
5cd77fdb99 Revert [23359]. The post_author and comment_count post object fields will remain numeric strings for back compat. see #22324.
git-svn-id: http://core.svn.wordpress.org/trunk@23531 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-02-28 19:40:26 +00:00
Andrew Nacin
b88b1c1f53 Move revisions/autosave and post format functions from wp-includes/post.php into revision.php and post-formats.php.
git-svn-id: http://core.svn.wordpress.org/trunk@23466 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-02-21 21:24:34 +00:00
Helen Hou-Sandí
ad85d07189 Edit screen UI for post formats: a first run for functionality.
* Adds a very basic tabbed interface for selecting a post format (requires JS).
* Extra fields, which are post meta, are shown/hidden based on the selected format.
* Introduce a helper function for retrieving formats-specific metadata: `get_post_format_meta()`.
* Image selection uses the media modal, although without filtering or from URL support at the moment.

props rachelbaker, wonderboymusic, aaroncampbell, helen. see #19570.


git-svn-id: http://core.svn.wordpress.org/trunk@23449 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-02-18 19:11:24 +00:00
Sergey Biryukov
a395bb01b8 Properly truncate UTF-8 post slugs in wp_unique_post_slug(). fixes #21013.
git-svn-id: http://core.svn.wordpress.org/trunk@23420 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-02-15 14:35:41 +00:00
Ryan Boren
cc5ed3a485 Change all core API to expect unslashed rather than slashed arguments.
The exceptions to this are update_post_meta() and add_post_meta() which are often used by plugins in POST handlers and will continue accepting slashed data for now.

Introduce wp_upate_post_meta() and wp_add_post_meta() as unslashed alternatives to update_post_meta() and add_post_meta(). These functions could become methods in WP_Post so don't use them too heavily yet.

Remove all escape() calls from wp_xmlrpc_server. Now that core expects unslashed data this is no longer needed.

Remove addslashes(), addslashes_gpc(), add_magic_quotes() calls on data being prepared for handoff to core functions that until now expected slashed data. Adding slashes in no longer necessary.

Introduce wp_unslash() and use to it remove slashes from GPCS data before using it in core API. Almost every instance of stripslashes() in core should now be wp_unslash(). In the future (a release or three) when GPCS is no longer slashed, wp_unslash() will stop stripping slashes and simply return what is passed. At this point wp_unslash() calls can be removed from core.

Introduce wp_slash() for slashing GPCS data. This will also turn into a noop once GPCS is no longer slashed. wp_slash() should almost never be used. It is mainly of use in unit tests.

Plugins should use wp_unslash() on data being passed to core API.

Plugins should no longer slash data being passed to core. So when you get_post() and then wp_insert_post() the post data from get_post() no longer needs addslashes(). Most plugins were not bothering with this. They will magically start doing the right thing. Unfortunately, those few souls who did it properly will now have to avoid calling addslashes() for 3.6 and newer.

Use wp_kses_post() and wp_kses_data(), which expect unslashed data, instead of wp_filter_post_kses() and wp_filter_kses(), which expect slashed data. Filters are no longer passed slashed data.

Remove many no longer necessary calls to $wpdb->escape() and esc_sql().

In wp_get_referer() and wp_get_original_referer(), return unslashed data.

Remove old stripslashes() calls from WP_Widget::update() handlers. These haven't been necessary since WP_Widget.

Switch several queries over to prepare().

Expect something to break.

Props alexkingorg
see #21767


git-svn-id: http://core.svn.wordpress.org/trunk@23416 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-02-14 22:51:06 +00:00
Peter Westwood
ae974b8495 Revisions: Allow a plugin to force us to skip the don't save this revision because it hasn't changed code if it knows better.
See #7392 and #9843. Also cleans up the whitespace.


git-svn-id: http://core.svn.wordpress.org/trunk@23415 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-02-14 16:45:43 +00:00
Peter Westwood
716d48e0cd Revisions: Before saving a new post revision make sure that something has changed in the fields that we are revisioning.
Fixes: #7392 and #9843 props adamsilverstein.


git-svn-id: http://core.svn.wordpress.org/trunk@23414 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-02-14 11:36:32 +00:00
Ryan Boren
353ef064ea Use microtime() instead of incrementors for last_changed to to avoid race conditions with cache evictions.
Props westi
fixes #23448


git-svn-id: http://core.svn.wordpress.org/trunk@23401 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-02-11 18:08:14 +00:00
Sergey Biryukov
c569c15b6d Correct the documentation for _publish_post_hook(). Remove unused global declaration. props roulandf. fixes #23376.
git-svn-id: http://core.svn.wordpress.org/trunk@23387 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-02-05 15:45:37 +00:00
Sergey Biryukov
6f00a2c1cc Sanitize post_author and comment_count as integer fields. props GeertDD. fixes #22324.
git-svn-id: http://core.svn.wordpress.org/trunk@23353 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-01-28 04:17:05 +00:00
Ryan Boren
1b2b394a91 Avoid the appearance of a magic number.
Props nacin
see #23167


git-svn-id: http://core.svn.wordpress.org/trunk@23320 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-01-22 15:52:13 +00:00
Ryan Boren
48058dfb99 Explicitly set last_changed to 1 instead of the result of wp_cache_set(). Avoids ambiguity and works with cache backends that return void instead of boolean.
see #23167


git-svn-id: http://core.svn.wordpress.org/trunk@23319 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-01-22 15:46:16 +00:00
Helen Hou-Sandí
b538d6163f Make sure .widefat border and background coloring only applies to tables. props MikeHansenMe. fixes #21936.
git-svn-id: http://core.svn.wordpress.org/trunk@23315 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-01-22 14:44:04 +00:00
Ryan Boren
1edf259b45 In get_pages(), cache queries to individual cache buckets instead of storing them in one cached array. Also, store post IDs instead of full objects. This reduces overall memory usage as well as the size of the cache buckets. Use incrementor style passive cache invalidation.
Props nprasath002
see #23167


git-svn-id: http://core.svn.wordpress.org/trunk@23300 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-01-15 17:32:35 +00:00
Peter Westwood
f683fc7677 Tighten our braces. Fixes #23118 props evansolomon.
git-svn-id: http://core.svn.wordpress.org/trunk@23265 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2013-01-04 10:13:51 +00:00
Andrew Nacin
0d3d52a92a Always return arrays from get_post_ancestors(). Return an array when passed a value that evaluates to false.
props dannydehaan.
fixes #22882 for trunk.
Test: [1177/tests].



git-svn-id: http://core.svn.wordpress.org/trunk@23212 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-27 15:48:18 +00:00
Andrew Nacin
8d52e9fc68 Always call get_post() in get_page_uri() to ensure we have a WP_Post object, which lazy-loads the ancestors this function requires.
props dd32
fixes #22883
Unit tests: [1175/tests]



git-svn-id: http://core.svn.wordpress.org/trunk@23208 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-27 15:26:05 +00:00
Andrew Nacin
f9d07a1928 Revert [21942] and have wp_publish_post() deal with the database directly. clean_post_cache() is now also called directly due to [21943].
fixes #22944 for trunk.
Unit tests: [1174/tests].

see #11399. see #21963.



git-svn-id: http://core.svn.wordpress.org/trunk@23206 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-27 15:14:43 +00:00
Andrew Nacin
3097cb315b Do not save an initial revision for a post created through the auto-draft mechanism. Prevents a bogus revision, often with the title 'Auto Draft'. Restores pre-auto-draft behavior made obvious by XML-RPC's implementation of both auto-drafts and the subsequent wp.getRevisions method. fixes #22687. see #22686.
git-svn-id: http://core.svn.wordpress.org/trunk@22989 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-12-03 06:28:28 +00:00
Ryan Boren
cef3bc6abb Map the create_posts post type cap to upload_files for attachments.
Props nacin
fixes #16714


git-svn-id: http://core.svn.wordpress.org/trunk@22921 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-29 16:14:07 +00:00
Ryan Boren
b237423e72 Clear the object term relationships cache in wp_set_object_terms() rather than wp_set_post_terms(). This should be done lower in the stack than wp_set_post_terms().
Props batmoo
fixes #22560


git-svn-id: http://core.svn.wordpress.org/trunk@22878 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-27 19:42:38 +00:00
Daryl Koopersmith
5b11aea8f5 Media: Dynamically generate attachment filters using get_post_mime_types().
Moves `get_post_mime_types()` from `wp-admin/includes/post.php` to `wp-includes/post.php`.

fixes #22514, see #21390.


git-svn-id: http://core.svn.wordpress.org/trunk@22743 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-21 10:18:59 +00:00
Ryan Boren
a2edda4b6a Don't bail from get_the_terms() if the post type is not registed for the taxonomy. This can break back compat when add_post_type_support( 'page', 'post-formats' ) is called but register_taxonomy_for_object_type( 'postr_-format', 'page' ) is not.
Props SergeyBiryukov
fixes #22473


git-svn-id: http://core.svn.wordpress.org/trunk@22722 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-20 18:31:06 +00:00
Andrew Nacin
2f77c7984b This should be a cache add, not a cache set. see #22503.
git-svn-id: http://core.svn.wordpress.org/trunk@22676 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-19 08:39:52 +00:00
Andrew Nacin
a1dba4a709 Call wp_cache_set() with a group and then an expiration in wp_mime_type_icon(). fixes #22503. see #22186.
git-svn-id: http://core.svn.wordpress.org/trunk@22674 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-19 08:31:43 +00:00
Ryan Boren
cc2ddb8421 Always return a raw filtered post object from WP_Post::get_instance().
Props kovshenin, scribu, ntm
fixes #22448


git-svn-id: http://core.svn.wordpress.org/trunk@22635 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-17 15:14:48 +00:00
Andrew Nacin
c67a081816 Revert [22445]. see #20376. fixes #22389.
git-svn-id: http://core.svn.wordpress.org/trunk@22464 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-08 03:30:56 +00:00
Andrew Nacin
8eb8948a2e Fix meta value querying in wp_list_pages(). props SergeyBiryukov. fixes #20376.
git-svn-id: http://core.svn.wordpress.org/trunk@22445 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-07 21:48:38 +00:00
Andrew Nacin
c04587d409 Add a $public_only argument to count_many_users_posts() and get_posts_by_author_sql(). Defaults to false, and allows the counts to be returned for only public posts. props ryan, westi. fixes #21431.
git-svn-id: http://core.svn.wordpress.org/trunk@22386 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-05 23:11:25 +00:00
Andrew Nacin
e04bdce3ca clean_post_cache() no longer calls itself recursively. see #11399.
git-svn-id: http://core.svn.wordpress.org/trunk@22357 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-11-02 16:13:53 +00:00
Ryan Boren
a550a6d489 Use the create_posts capability in more places.
In get_post_type_capabilities(), make sure create_posts reflects customizations to the edit_posts capability when create_posts is not specifically set.


git-svn-id: http://core.svn.wordpress.org/trunk@22291 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-24 22:15:43 +00:00
Ryan Boren
a316671b85 Don't wp_cache_add() stdClass objects in get_post() to avoid polluting the cache with incomplete or otherwise compromised objects.
Declare the core properties of WP_Pist as proper public properties and provide them with defaults.

Props wonderboymusic
fixes #22223


git-svn-id: http://core.svn.wordpress.org/trunk@22264 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-19 21:53:17 +00:00
Andrew Nacin
2cc408d09c Avoid queries in wp_unique_post_slug() for nav menu items. see #22189.
git-svn-id: http://core.svn.wordpress.org/trunk@22232 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-15 14:13:57 +00:00
Andrew Nacin
57681dda7a Remove whitespace from around the WP_Post/get_post SQL string.
git-svn-id: http://core.svn.wordpress.org/trunk@22230 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-15 03:08:43 +00:00
Andrew Nacin
fd56fd3563 Use wp_update_post() rather than wp_insert_post() in wp_publish_post() to avoid stomping of values like categories. props ericmann, fixes #22167. see #21963.
git-svn-id: http://core.svn.wordpress.org/trunk@22189 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-11 17:36:59 +00:00
Andrew Nacin
ac6f57de76 Add post_type_labels_{$post_type} filter. props scribu. fixes #21948.
git-svn-id: http://core.svn.wordpress.org/trunk@22164 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-10 13:50:42 +00:00
Ryan Boren
ac0011a77c Make sure cache bucket is an array to avoid warning. see #21309
git-svn-id: http://core.svn.wordpress.org/trunk@22163 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-10 12:29:51 +00:00
Ryan Boren
faca571a3a Avoid 'Only variables should be assigned by reference' warning. Props wonderboymusic. see #21865
git-svn-id: http://core.svn.wordpress.org/trunk@22114 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-10-04 18:21:47 +00:00
Ryan Boren
f8f60ac01b Introduce create_posts meta capability. Props scribu, nacin, casben79. see #16714
git-svn-id: http://core.svn.wordpress.org/trunk@22060 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-27 15:33:19 +00:00
Ryan Boren
70edf4111b Fetch full terms for the post_category and tags_input queries and then wp_list_pluck() the desired fields. Fetching full terms primes the cache and reduces overall queries. Add cache invalidation to wp_set_post_terms(). Props scribu. see #21309
git-svn-id: http://core.svn.wordpress.org/trunk@21981 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-24 20:35:56 +00:00
Ryan Boren
bc3c170305 Don't add empty _wp_attached_file, _wp_attachment_metadata, _thumbnail_id meta to posts. Delete these fields when set to empty. Props SergeyBiryukov, Caspie. fixes #16391
git-svn-id: http://core.svn.wordpress.org/trunk@21967 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-24 13:07:34 +00:00
Andrew Nacin
29b7d26ca5 Properly indent after [21952]. see #11399.
git-svn-id: http://core.svn.wordpress.org/trunk@21953 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-22 16:21:06 +00:00
Andrew Nacin
a42ce2353a Stop cleaning the cache of a post's children. Ancestors are no longer cached against the post object, which means this kind of walking is unnecessary. It is also prohibitively expensive with large hierarchies.
We need to remove post_ancestors non-persistent caching for this. get_post_ancestors() can simply rely on the caching of get_post() instead. Previously, it was a direct query, hence the extra layers of caching and clearing.

Child cache clearing stays in wp_delete_post() as children get a new parent.

fixes #11399.



git-svn-id: http://core.svn.wordpress.org/trunk@21952 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-22 15:55:02 +00:00
Andrew Nacin
33af30eb7f Use the regular post type UI for editing single media items (attachments).
* Attachments now go through post.php, edit_post(), the like, and have show_ui set to true.
 * Taxonomies attached to the media library now appear in the admin menu (if show_ui).
 * Editing, cropping, uploading, etc. is still very rough, but mostly functional.

API-wise:
 * New function: get_taxonomies_for_attachments(). Like get_taxonomies(), for taxonomies specifically registered against attachments.
 * Brings taxonomy support from the posts list table to the media list table. Expect them to converge soon.
 * wp_insert_attachment() now handles taxonomies like wp_insert_post(). Also expect them to converge soon.
 * New edit_form_after_title hook.

props helenyhou, ocean90. see #21391.



git-svn-id: http://core.svn.wordpress.org/trunk@21948 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-21 22:52:54 +00:00
Andrew Nacin
5a362d3ace Call clean_post_cache() in wp_insert_post() after the manual query to change GUID. Remove the second call to clean_post_cache() previously done on the save_post hook. see #11399.
git-svn-id: http://core.svn.wordpress.org/trunk@21943 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-21 18:52:15 +00:00
Andrew Nacin
a4831c82f0 Have wp_publish_post() wrap wp_insert_post() directly. see #11399.
git-svn-id: http://core.svn.wordpress.org/trunk@21942 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-21 18:49:45 +00:00
Peter Westwood
fa8a509ff3 Posting: Improve the invalid date protection code based on feedback from nacin.
* Introduce a wp_checkdate() function with a single filter to centralise the code that validates dates.
 * Improve the error message
 * Correctly handle the return value of wp_insert_post which is not always a WP_Error on failure

Fixes #17180


git-svn-id: http://core.svn.wordpress.org/trunk@21922 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-20 10:46:50 +00:00
Peter Westwood
c05f6dc6dd Posting: Make it much harder to create posts with invalid dates by enforcing the post date tests in the UI and the backend code.
Previously you could quite easily send a new post into the back of beyond by specifying an invalid date like the 30th Feb and this was very confusing.
Sometimes it would seem to work and sometimes the post would end up very far in the past - depending on the mysql version and other factors.

Fixes #17180 props jkudish.


git-svn-id: http://core.svn.wordpress.org/trunk@21921 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-19 21:43:35 +00:00
Andrew Nacin
a7cd7c3ac7 Use wp_get_theme()->get_page_templates() rather than get_page_templates() in wp_insert_post(),
to allow page template setting on the frontend without a fatal error. fixes #21755.



git-svn-id: http://core.svn.wordpress.org/trunk@21847 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-14 18:36:08 +00:00
Andrew Nacin
95c9cd1e6b Remove unused show_in_admin_all and single_view_cap from register_post_status(). props duck_. fixes #18972.
git-svn-id: http://core.svn.wordpress.org/trunk@21846 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-14 18:02:23 +00:00
Andrew Nacin
07324a1f53 In get_page_by_path(), attempt to return an item that has the same post type before returning an attachment with the same name. props SergeyBiryukov. tests in [UT1021]. fixes #15665.
git-svn-id: http://core.svn.wordpress.org/trunk@21845 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-14 17:19:25 +00:00
Andrew Nacin
b65ceddeeb If update_post_caches() does not receive a post type, glean post types from the individual post objects, rather than assuming 'post'. fixes #20177.
git-svn-id: http://core.svn.wordpress.org/trunk@21844 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-14 16:26:05 +00:00
Andrew Nacin
5bc021dad7 Allow supports => false to be passed to register_post_type() to disable the default title and editor.
An empty array may also disable all default features in the future.
Do not rely on this behavior: always specify title and editor if you want them.

props sc0ttkclark.
fixes #21586.



git-svn-id: http://core.svn.wordpress.org/trunk@21831 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-13 17:02:39 +00:00
Andrew Nacin
bc6087bc98 Always return upload directory information from wp_upload_dir(), even if there is an error. Append the error to the array. see #19235.
git-svn-id: http://core.svn.wordpress.org/trunk@21822 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-11 22:06:49 +00:00
Andrew Nacin
9d204841ee Remove AtomPub from core.
* Will be replaced with http://wordpress.org/extend/plugins/atom-publishing-protocol/.
 * Introduces an action, xmlrpc_rsd_apis, to add APIs to xmlrpc.php?rsd.
 * Introduces support for 'error' being 403 and 50x in class-wp.php.
 * Removes 'Remote Publishing' from Writing Settings (see [21804]). Keeps the remote_publishing settings section.

DB version is bumped to generate the new wp-app rewrite rule and remove the old enable_app option.

props wonderboymusic.
fixes #21509.



git-svn-id: http://core.svn.wordpress.org/trunk@21818 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-11 20:11:39 +00:00
Ryan Boren
f483a85676 Remove unnecessary return by refs. Props wonderboymusic. fixes #21839
git-svn-id: http://core.svn.wordpress.org/trunk@21792 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-10 17:00:11 +00:00
Andrew Nacin
8a46609b03 Use wp_cache_add() in wp_mime_type_icon(). fixes #21835.
git-svn-id: http://core.svn.wordpress.org/trunk@21783 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2012-09-07 21:10:43 +00:00