WordPress.org

Make WordPress Core

Changeset 21651


Ignore:
Timestamp:
08/28/12 19:08:28 (3 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.