Commit Graph

762 Commits

Author SHA1 Message Date
Andrew Nacin 65bf560b9d 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: https://develop.svn.wordpress.org/trunk@24598 602fd350-edb4-49c9-b593-d223f7449a82
2013-07-09 05:22:50 +00:00
Sergey Biryukov fbc2a6ca6d PHPDoc fixes and additions. fixes #24616.
git-svn-id: https://develop.svn.wordpress.org/trunk@24490 602fd350-edb4-49c9-b593-d223f7449a82
2013-06-21 12:45:11 +00:00
Mark Jaquith cf3f5acf71 Lose content removal and splitting from the media extraction functions.
see #24484

git-svn-id: https://develop.svn.wordpress.org/trunk@24400 602fd350-edb4-49c9-b593-d223f7449a82
2013-06-03 19:27:58 +00:00
Mark Jaquith e0a0e46abd First pass at removing Post Format UI.
see #24452. fixes #24455.

git-svn-id: https://develop.svn.wordpress.org/trunk@24388 602fd350-edb4-49c9-b593-d223f7449a82
2013-05-30 21:33:46 +00:00
Ryan Boren 2662748593 * 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: https://develop.svn.wordpress.org/trunk@24301 602fd350-edb4-49c9-b593-d223f7449a82
2013-05-20 11:05:50 +00:00
Sergey Biryukov b0855cc810 Fix handling of '0' as meta_value argument in get_pages(). fixes #20376.
git-svn-id: https://develop.svn.wordpress.org/trunk@24238 602fd350-edb4-49c9-b593-d223f7449a82
2013-05-10 19:18:54 +00:00
Sergey Biryukov 2b1420456d Fix typos in phpdoc. props TheLastCicada. fixes #24302.
git-svn-id: https://develop.svn.wordpress.org/trunk@24229 602fd350-edb4-49c9-b593-d223f7449a82
2013-05-10 01:39:30 +00:00
Sergey Biryukov bb2a27be5b Use ellipsis instead of three dots. props tjsingleton, jordie23, wojtek.szkutnik, DrewAPicture, SergeyBiryukov. see #8714.
git-svn-id: https://develop.svn.wordpress.org/trunk@24207 602fd350-edb4-49c9-b593-d223f7449a82
2013-05-08 21:27:31 +00:00
Andrew Nacin c91475ebe1 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: https://develop.svn.wordpress.org/trunk@24126 602fd350-edb4-49c9-b593-d223f7449a82
2013-04-29 13:26:31 +00:00
Mark Jaquith ff064c5422 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: https://develop.svn.wordpress.org/trunk@24015 602fd350-edb4-49c9-b593-d223f7449a82
2013-04-17 17:49:44 +00:00
Mark Jaquith 0ac7d034a6 Allow the content of no-title audio, video, quote, and image posts to be blanked.
props wonderboymusic. fixes #23623.

git-svn-id: https://develop.svn.wordpress.org/trunk@23986 602fd350-edb4-49c9-b593-d223f7449a82
2013-04-14 01:43:01 +00:00
Mark Jaquith 54e229a8b8 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: https://develop.svn.wordpress.org/trunk@23823 602fd350-edb4-49c9-b593-d223f7449a82
2013-03-27 20:21:38 +00:00
Ryan Boren 5cf0bc9be0 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: https://develop.svn.wordpress.org/trunk@23740 602fd350-edb4-49c9-b593-d223f7449a82
2013-03-18 14:33:09 +00:00
Sergey Biryukov c4f8e11df0 Remove redundant code from post_type_supports() and remove_post_type_support(). props obenland, bilalcoder. fixes #21527.
git-svn-id: https://develop.svn.wordpress.org/trunk@23722 602fd350-edb4-49c9-b593-d223f7449a82
2013-03-15 18:28:33 +00:00
Andrew Nacin f5de3b88a8 Allow get_post_ancestors() to inspect the $post global, when null/0 is received. see #23708.
git-svn-id: https://develop.svn.wordpress.org/trunk@23635 602fd350-edb4-49c9-b593-d223f7449a82
2013-03-07 06:49:46 +00:00
Ryan Boren 6d2a8d2ef0 Use wp_unslash() instead of stripslashes() and stripslashes_deep(). Use wp_slash() instead of add_magic_quotes().
see #21767


git-svn-id: https://develop.svn.wordpress.org/trunk@23594 602fd350-edb4-49c9-b593-d223f7449a82
2013-03-03 21:11:40 +00:00
Ryan Boren c363aea627 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: https://develop.svn.wordpress.org/trunk@23554 602fd350-edb4-49c9-b593-d223f7449a82
2013-03-01 16:28:40 +00:00
Andrew Nacin 352183c346 Revert [23359]. The post_author and comment_count post object fields will remain numeric strings for back compat. see #22324.
git-svn-id: https://develop.svn.wordpress.org/trunk@23531 602fd350-edb4-49c9-b593-d223f7449a82
2013-02-28 19:40:26 +00:00
Andrew Nacin e1b603bbc3 Move revisions/autosave and post format functions from wp-includes/post.php into revision.php and post-formats.php.
git-svn-id: https://develop.svn.wordpress.org/trunk@23466 602fd350-edb4-49c9-b593-d223f7449a82
2013-02-21 21:24:34 +00:00
Helen Hou-Sandi 5b3c058bd5 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: https://develop.svn.wordpress.org/trunk@23449 602fd350-edb4-49c9-b593-d223f7449a82
2013-02-18 19:11:24 +00:00
Sergey Biryukov 9defec712a Properly truncate UTF-8 post slugs in wp_unique_post_slug(). fixes #21013.
git-svn-id: https://develop.svn.wordpress.org/trunk@23420 602fd350-edb4-49c9-b593-d223f7449a82
2013-02-15 14:35:41 +00:00
Ryan Boren a6c8efadb9 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: https://develop.svn.wordpress.org/trunk@23416 602fd350-edb4-49c9-b593-d223f7449a82
2013-02-14 22:51:06 +00:00
Peter Westwood 4ca366a0d1 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: https://develop.svn.wordpress.org/trunk@23415 602fd350-edb4-49c9-b593-d223f7449a82
2013-02-14 16:45:43 +00:00
Peter Westwood 671a9b2017 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: https://develop.svn.wordpress.org/trunk@23414 602fd350-edb4-49c9-b593-d223f7449a82
2013-02-14 11:36:32 +00:00
Ryan Boren 77e5536195 Use microtime() instead of incrementors for last_changed to to avoid race conditions with cache evictions.
Props westi
fixes #23448


git-svn-id: https://develop.svn.wordpress.org/trunk@23401 602fd350-edb4-49c9-b593-d223f7449a82
2013-02-11 18:08:14 +00:00
Sergey Biryukov 163f0a4769 Correct the documentation for _publish_post_hook(). Remove unused global declaration. props roulandf. fixes #23376.
git-svn-id: https://develop.svn.wordpress.org/trunk@23387 602fd350-edb4-49c9-b593-d223f7449a82
2013-02-05 15:45:37 +00:00
Sergey Biryukov 9a00a0dcce Sanitize post_author and comment_count as integer fields. props GeertDD. fixes #22324.
git-svn-id: https://develop.svn.wordpress.org/trunk@23353 602fd350-edb4-49c9-b593-d223f7449a82
2013-01-28 04:17:05 +00:00
Ryan Boren 7ff77d2e02 Avoid the appearance of a magic number.
Props nacin
see #23167


git-svn-id: https://develop.svn.wordpress.org/trunk@23320 602fd350-edb4-49c9-b593-d223f7449a82
2013-01-22 15:52:13 +00:00
Ryan Boren 7442b3894b 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: https://develop.svn.wordpress.org/trunk@23319 602fd350-edb4-49c9-b593-d223f7449a82
2013-01-22 15:46:16 +00:00
Sergey Biryukov 41887b0aab Fix typo in phpdoc. props AKTed, ocean90. fixes #23242.
git-svn-id: https://develop.svn.wordpress.org/trunk@23311 602fd350-edb4-49c9-b593-d223f7449a82
2013-01-22 03:08:05 +00:00
Ryan Boren bb70f60264 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: https://develop.svn.wordpress.org/trunk@23300 602fd350-edb4-49c9-b593-d223f7449a82
2013-01-15 17:32:35 +00:00
Peter Westwood d927271553 Tighten our braces. Fixes #23118 props evansolomon.
git-svn-id: https://develop.svn.wordpress.org/trunk@23265 602fd350-edb4-49c9-b593-d223f7449a82
2013-01-04 10:13:51 +00:00
Andrew Nacin 32b79f7d61 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: https://develop.svn.wordpress.org/trunk@23212 602fd350-edb4-49c9-b593-d223f7449a82
2012-12-27 15:48:18 +00:00
Andrew Nacin d7640fc5d2 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: https://develop.svn.wordpress.org/trunk@23208 602fd350-edb4-49c9-b593-d223f7449a82
2012-12-27 15:26:05 +00:00
Andrew Nacin 975dbe9b12 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: https://develop.svn.wordpress.org/trunk@23206 602fd350-edb4-49c9-b593-d223f7449a82
2012-12-27 15:14:43 +00:00
Andrew Nacin 8adec7a437 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: https://develop.svn.wordpress.org/trunk@22989 602fd350-edb4-49c9-b593-d223f7449a82
2012-12-03 06:28:28 +00:00
Ryan Boren a26c25a8bc Map the create_posts post type cap to upload_files for attachments.
Props nacin
fixes #16714


git-svn-id: https://develop.svn.wordpress.org/trunk@22921 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-29 16:14:07 +00:00
Ryan Boren bf812ac283 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: https://develop.svn.wordpress.org/trunk@22878 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-27 19:42:38 +00:00
Daryl Koopersmith 8e6aa60fa4 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: https://develop.svn.wordpress.org/trunk@22743 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-21 10:18:59 +00:00
Ryan Boren e158d36f6e 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: https://develop.svn.wordpress.org/trunk@22722 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-20 18:31:06 +00:00
Andrew Nacin 52cc02a9be This should be a cache add, not a cache set. see #22503.
git-svn-id: https://develop.svn.wordpress.org/trunk@22676 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-19 08:39:52 +00:00
Andrew Nacin 4cba7e30e0 Call wp_cache_set() with a group and then an expiration in wp_mime_type_icon(). fixes #22503. see #22186.
git-svn-id: https://develop.svn.wordpress.org/trunk@22674 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-19 08:31:43 +00:00
Ryan Boren 35576683fe Always return a raw filtered post object from WP_Post::get_instance().
Props kovshenin, scribu, ntm
fixes #22448


git-svn-id: https://develop.svn.wordpress.org/trunk@22635 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-17 15:14:48 +00:00
Andrew Nacin 6f8681b02d Revert [22445]. see #20376. fixes #22389.
git-svn-id: https://develop.svn.wordpress.org/trunk@22464 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-08 03:30:56 +00:00
Andrew Nacin d9bab22085 Fix meta value querying in wp_list_pages(). props SergeyBiryukov. fixes #20376.
git-svn-id: https://develop.svn.wordpress.org/trunk@22445 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-07 21:48:38 +00:00
Andrew Nacin 2a9536d817 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: https://develop.svn.wordpress.org/trunk@22386 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-05 23:11:25 +00:00
Andrew Nacin a6a8321d7d clean_post_cache() no longer calls itself recursively. see #11399.
git-svn-id: https://develop.svn.wordpress.org/trunk@22357 602fd350-edb4-49c9-b593-d223f7449a82
2012-11-02 16:13:53 +00:00
Ryan Boren 308c702183 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: https://develop.svn.wordpress.org/trunk@22291 602fd350-edb4-49c9-b593-d223f7449a82
2012-10-24 22:15:43 +00:00
Ryan Boren 8bc27f2c58 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: https://develop.svn.wordpress.org/trunk@22264 602fd350-edb4-49c9-b593-d223f7449a82
2012-10-19 21:53:17 +00:00
Andrew Nacin 70c394fb79 Avoid queries in wp_unique_post_slug() for nav menu items. see #22189.
git-svn-id: https://develop.svn.wordpress.org/trunk@22232 602fd350-edb4-49c9-b593-d223f7449a82
2012-10-15 14:13:57 +00:00