WordPress.org

Make WordPress Core

Changeset 21651


Ignore:
Timestamp:
08/28/2012 07:08:28 PM (6 years ago)
Author:
ryan
Message:

Add tags_input, page_template, and post_category get magic to WP_Post.
Deprecate get_post_to_edit() and wp_get_single_post().
Props scribu
see #21309

Location:
trunk
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-admin/includes/deprecated.php

    r21413 r21651  
    944944/**
    945945 * This was once used to display an 'Insert into Post' button. Now it is deprecated and stubbed.
    946  * 
     946 *
    947947 * @deprecated 3.5.0
    948948 */
     
    953953/**
    954954 * This was once used to display a media button. Now it is deprecated and stubbed.
    955  * 
     955 *
    956956 * @deprecated 3.5.0
    957957 */
     
    959959    _deprecated_function( __FUNCTION__, '3.5' );
    960960}
     961
     962/**
     963 * Get an existing post and format it for editing.
     964 *
     965 * @since 2.0.0
     966 * @deprecated 3.5.0
     967 *
     968 * @param int $id
     969 * @return object
     970 */
     971function get_post_to_edit( $id ) {
     972    _deprecated_function( __FUNCTION__, '3.5', 'get_post()' );
     973
     974    return get_post( $id, OBJECT, 'edit' );
     975}
     976
  • trunk/wp-admin/includes/post.php

    r21598 r21651  
    465465
    466466/**
    467  * Get an existing post and format it for editing.
    468  *
    469  * @since 2.0.0
    470  *
    471  * @param int $id
    472  * @return WP_Post
    473  */
    474 function get_post_to_edit( $id ) {
    475 
    476     $post = get_post( $id, OBJECT, 'edit' );
    477 
    478     if ( $post->post_type == 'page' )
    479         $post->page_template = get_post_meta( $id, '_wp_page_template', true );
    480 
    481     return $post;
    482 }
    483 
    484 /**
    485467 * Determine if a post exists based on title, content, and date
    486468 *
     
    929911 * Executes a query for attachments. An array of WP_Query arguments
    930912 * can be passed in, which will override the arguments set by this function.
    931  * 
     913 *
    932914 * @since 2.5.0
    933915 * @uses apply_filters() Calls 'upload_per_page' on posts_per_page argument
  • trunk/wp-admin/post.php

    r21597 r21651  
    166166
    167167    $title = $post_type_object->labels->edit_item;
    168     $post = get_post_to_edit($post_id);
     168    $post = get_post($post_id, OBJECT, 'edit');
    169169
    170170    if ( post_type_supports($post_type, 'comments') ) {
  • trunk/wp-includes/class-wp-atom-server.php

    r20715 r21651  
    914914        }
    915915
    916         $entry = wp_get_single_post($postID,ARRAY_A);
     916        $entry = get_post($postID,ARRAY_A);
    917917
    918918        if (!isset($entry) || !isset($entry['ID']))
     
    14111411            case $this->ENTRY_PATH:
    14121412                global $post;
    1413                 $post = wp_get_single_post($this->params[1]);
     1413                $post = get_post($this->params[1]);
    14141414                $wp_last_modified = get_post_modified_time('D, d M Y H:i:s', true);
    14151415                $post = null;
  • trunk/wp-includes/class-wp-xmlrpc-server.php

    r21597 r21651  
    12571257        do_action( 'xmlrpc_call', 'wp.deletePost' );
    12581258
    1259         $post = wp_get_single_post( $post_id, ARRAY_A );
     1259        $post = get_post( $post_id, ARRAY_A );
    12601260        if ( empty( $post['ID'] ) )
    12611261            return new IXR_Error( 404, __( 'Invalid post ID.' ) );
     
    12871287     * and 'enclosure'.
    12881288     *
    1289      * @uses wp_get_single_post()
     1289     * @uses get_post()
    12901290     * @param array $args Method parameters. Contains:
    12911291     *  - int     $post_id
     
    13381338        do_action( 'xmlrpc_call', 'wp.getPost' );
    13391339
    1340         $post = wp_get_single_post( $post_id, ARRAY_A );
     1340        $post = get_post( $post_id, ARRAY_A );
    13411341
    13421342        if ( empty( $post['ID'] ) )
     
    20612061        // Get the current page based on the page_id and
    20622062        // make sure it is a page and not a post.
    2063         $actual_page = wp_get_single_post($page_id, ARRAY_A);
     2063        $actual_page = get_post($page_id, ARRAY_A);
    20642064        if ( !$actual_page || ($actual_page['post_type'] != 'page') )
    20652065            return(new IXR_Error(404, __('Sorry, no such page.')));
     
    21022102
    21032103        // Get the page data and make sure it is a page.
    2104         $actual_page = wp_get_single_post($page_id, ARRAY_A);
     2104        $actual_page = get_post($page_id, ARRAY_A);
    21052105        if ( !$actual_page || ($actual_page['post_type'] != 'page') )
    21062106            return(new IXR_Error(404, __('Sorry, no such page.')));
     
    32973297            return $this->error;
    32983298
    3299         $post_data = wp_get_single_post($post_ID, ARRAY_A);
     3299        $post_data = get_post($post_ID, ARRAY_A);
    33003300        if ( ! $post_data )
    33013301            return new IXR_Error( 404, __( 'Invalid post ID.' ) );
     
    35393539        do_action('xmlrpc_call', 'blogger.editPost');
    35403540
    3541         $actual_post = wp_get_single_post($post_ID,ARRAY_A);
     3541        $actual_post = get_post($post_ID,ARRAY_A);
    35423542
    35433543        if ( !$actual_post || $actual_post['post_type'] != 'post' )
     
    35933593        do_action('xmlrpc_call', 'blogger.deletePost');
    35943594
    3595         $actual_post = wp_get_single_post($post_ID,ARRAY_A);
     3595        $actual_post = get_post($post_ID,ARRAY_A);
    35963596
    35973597        if ( !$actual_post || $actual_post['post_type'] != 'post' )
     
    39833983        do_action('xmlrpc_call', 'metaWeblog.editPost');
    39843984
    3985         $postdata = wp_get_single_post( $post_ID, ARRAY_A );
     3985        $postdata = get_post( $post_ID, ARRAY_A );
    39863986
    39873987        // If there is no post data for the give post id, stop
     
    42484248            return $this->error;
    42494249
    4250         $postdata = wp_get_single_post($post_ID, ARRAY_A);
     4250        $postdata = get_post($post_ID, ARRAY_A);
    42514251        if ( ! $postdata )
    42524252            return new IXR_Error( 404, __( 'Invalid post ID.' ) );
     
    48284828        do_action('xmlrpc_call', 'mt.getTrackbackPings');
    48294829
    4830         $actual_post = wp_get_single_post($post_ID, ARRAY_A);
     4830        $actual_post = get_post($post_ID, ARRAY_A);
    48314831
    48324832        if ( !$actual_post )
     
    48754875        do_action('xmlrpc_call', 'mt.publishPost');
    48764876
    4877         $postdata = wp_get_single_post($post_ID, ARRAY_A);
     4877        $postdata = get_post($post_ID, ARRAY_A);
    48784878        if ( ! $postdata )
    48794879            return new IXR_Error( 404, __( 'Invalid post ID.' ) );
     
    50895089        }
    50905090
    5091         $actual_post = wp_get_single_post($post_ID, ARRAY_A);
     5091        $actual_post = get_post($post_ID, ARRAY_A);
    50925092
    50935093        if ( !$actual_post ) {
  • trunk/wp-includes/deprecated.php

    r21597 r21651  
    32053205    _deprecated_function( __FUNCTION__, '3.5' );
    32063206}
     3207
     3208/**
     3209 * Retrieve a single post, based on post ID.
     3210 *
     3211 * Has categories in 'post_category' property or key. Has tags in 'tags_input'
     3212 * property or key.
     3213 *
     3214 * @since 1.0.0
     3215 * @deprecated 3.5.0
     3216 * @see get_post()
     3217 *
     3218 * @param int $postid Post ID.
     3219 * @param string $mode How to return result, either OBJECT, ARRAY_N, or ARRAY_A.
     3220 * @return object|array Post object or array holding post contents and information
     3221 */
     3222function wp_get_single_post( $postid = 0, $mode = OBJECT ) {
     3223    _deprecated_function( __FUNCTION__, '3.5', 'get_post()' );
     3224    return get_post( $postid, $mode, 'edit' );
     3225}
     3226
  • trunk/wp-includes/post.php

    r21628 r21651  
    476476            return true;
    477477
     478        if ( 'page_template' == $key )
     479            return ( 'page' == $this->post_type );
     480
     481        if ( 'post_category' == $key )
     482           return true;
     483
     484        if ( 'tags_input' == $key )
     485           return true;
     486
    478487        return metadata_exists( 'post', $this->ID, $key );
    479488    }
    480489
    481490    public function &__get( $key ) {
     491        if ( 'page_template' == $key && $this->__isset( $key ) ) {
     492            $_ref = get_post_meta( $this->ID, '_wp_page_template', true );
     493        }
     494
     495        if ( 'post_category' == $key ) {
     496            if ( is_object_in_taxonomy( $this->post_type, 'category' ) ) {
     497                $_ref = wp_get_post_categories( $this->ID );
     498            } else {
     499                $_ref = array();
     500            }
     501        }
     502
     503        if ( 'tags_input' == $key ) {
     504            if ( is_object_in_taxonomy( $this->post_type, 'post_tag' ) ) {
     505                $_ref = wp_get_post_tags( $this->ID, array( 'fields' => 'names' ) );
     506            } else {
     507                $_ref = array();
     508            }
     509        }
     510
     511        if ( isset( $_ref ) )
     512            return $_ref;
     513
     514        // Rest of the values need filtering
     515
    482516        if ( 'ancestors' == $key ) {
    483517            $value = get_post_ancestors( $this );
     
    505539    public function to_array() {
    506540        $post = get_object_vars( $this );
    507         $post['ancestors'] = array();
     541
     542        foreach ( array( 'ancestors', 'page_template', 'post_category', 'tags_input' ) as $key ) {
     543            if ( $this->__isset( $key ) )
     544                $post[ $key ] = $this->__get( $key );
     545        }
    508546
    509547        return $post;
     
    22272265        return wp_delete_post($post_id, true);
    22282266
    2229     if ( !$post = wp_get_single_post($post_id, ARRAY_A) )
     2267    if ( !$post = get_post($post_id, ARRAY_A) )
    22302268        return $post;
    22312269
     
    22592297 */
    22602298function wp_untrash_post($post_id = 0) {
    2261     if ( !$post = wp_get_single_post($post_id, ARRAY_A) )
     2299    if ( !$post = get_post($post_id, ARRAY_A) )
    22622300        return $post;
    22632301
     
    24872525    return $results ? $results : false;
    24882526
    2489 }
    2490 
    2491 /**
    2492  * Retrieve a single post, based on post ID.
    2493  *
    2494  * Has categories in 'post_category' property or key. Has tags in 'tags_input'
    2495  * property or key.
    2496  *
    2497  * @since 1.0.0
    2498  *
    2499  * @param int $postid Post ID.
    2500  * @param string $mode How to return result, either OBJECT, ARRAY_N, or ARRAY_A.
    2501  * @return WP_Post|array WP_Post object or array holding post contents and information
    2502  */
    2503 function wp_get_single_post($postid = 0, $mode = OBJECT) {
    2504     $postid = (int) $postid;
    2505 
    2506     $post = get_post($postid, $mode);
    2507 
    2508     if (
    2509         ( OBJECT == $mode && empty( $post->ID ) ) ||
    2510         ( OBJECT != $mode && empty( $post['ID'] ) )
    2511     )
    2512         return ( OBJECT == $mode ? null : array() );
    2513 
    2514     // Set categories and tags
    2515     if ( $mode == OBJECT ) {
    2516         $post->post_category = array();
    2517         if ( is_object_in_taxonomy($post->post_type, 'category') )
    2518             $post->post_category = wp_get_post_categories($postid);
    2519         $post->tags_input = array();
    2520         if ( is_object_in_taxonomy($post->post_type, 'post_tag') )
    2521             $post->tags_input = wp_get_post_tags($postid, array('fields' => 'names'));
    2522     } else {
    2523         $post['post_category'] = array();
    2524         if ( is_object_in_taxonomy($post['post_type'], 'category') )
    2525             $post['post_category'] = wp_get_post_categories($postid);
    2526         $post['tags_input'] = array();
    2527         if ( is_object_in_taxonomy($post['post_type'], 'post_tag') )
    2528             $post['tags_input'] = wp_get_post_tags($postid, array('fields' => 'names'));
    2529     }
    2530 
    2531     return $post;
    25322527}
    25332528
     
    28332828
    28342829    // First, get all of the original fields
    2835     $post = wp_get_single_post($postarr['ID'], ARRAY_A);
     2830    $post = get_post($postarr['ID'], ARRAY_A);
    28362831
    28372832    // Escape data pulled from DB.
     
    32423237    if ( ! empty( $tb_list ) ) {
    32433238        // get post data
    3244         $postdata = wp_get_single_post($post_id, ARRAY_A);
     3239        $postdata = get_post($post_id, ARRAY_A);
    32453240
    32463241        // import postdata as variables
Note: See TracChangeset for help on using the changeset viewer.