WordPress.org

Make WordPress Core

Changeset 24598


Ignore:
Timestamp:
07/09/2013 05:22:50 AM (7 years ago)
Author:
nacin
Message:

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].

Location:
trunk/wp-includes
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-includes/post-template.php

    r24560 r24598  
    161161 * @param string $more_link_text Optional. Content for when there is more text.
    162162 * @param bool $strip_teaser Optional. Strip teaser content before the more text. Default is false.
    163  * @param int $id Optional. A post id. Defaults to the current post when in The Loop, undefined otherwise.
    164  */
    165 function the_content( $more_link_text = null, $strip_teaser = false, $id = 0 ) {
    166     $post = get_post( $id );
    167 
    168     /*
    169      * Filter: the_content
    170      *
    171      * param string Post content as returned by get_the_content()
    172      * param int The ID of the post to which the content belongs. This was introduced
    173      *           in 3.6.0 and is not reliably passed by all plugins and themes that
    174      *           directly apply the_content. As such, it is not considered portable.
    175      */
    176     $content = apply_filters( 'the_content', get_the_content( $more_link_text, $strip_teaser, $post->ID ), $post->ID );
    177     echo str_replace( ']]>', ']]>', $content );
     163 */
     164function the_content( $more_link_text = null, $strip_teaser = false) {
     165    $content = get_the_content( $more_link_text, $strip_teaser );
     166    $content = apply_filters( 'the_content', $content );
     167    $content = str_replace( ']]>', ']]>', $content );
     168    echo $content;
    178169}
    179170
     
    185176 * @param string $more_link_text Optional. Content for when there is more text.
    186177 * @param bool $stripteaser Optional. Strip teaser content before the more text. Default is false.
    187  * @param int $id Optional. A post id. Defaults to the current post when in The Loop, undefined otherwise.
    188178 * @return string
    189179 */
    190 function get_the_content( $more_link_text = null, $strip_teaser = false, $id = 0 ) {
    191     global $page, $more, $preview;
    192 
    193     $post = get_post( $id );
    194     // Avoid parsing again if the post is the same one parsed by setup_postdata().
    195     // The extract() will set up $pages and $multipage.
    196     if ( $post->ID != get_post()->ID )
    197         extract( wp_parse_post_content( $post, false ) );
    198     else
    199         global $pages, $multipage;
     180function get_the_content( $more_link_text = null, $strip_teaser = false ) {
     181    global $page, $more, $preview, $pages, $multipage;
     182
     183    $post = get_post();
    200184
    201185    if ( null === $more_link_text )
  • trunk/wp-includes/post.php

    r24490 r24598  
    49714971    }
    49724972}
    4973 
    4974 /**
    4975  * Parse post content for pagination
    4976  *
    4977  * @since 3.6.0
    4978  *
    4979  * @uses paginate_content()
    4980  *
    4981  * @param object $post The post object.
    4982  * @return array An array of values used for paginating the parsed content.
    4983  */
    4984 function wp_parse_post_content( $post ) {
    4985     $numpages = 1;
    4986 
    4987     if ( strpos( $post->post_content, '<!--nextpage-->' ) ) {
    4988         $multipage = 1;
    4989         $pages = paginate_content( $post->post_content );
    4990         $numpages = count( $pages );
    4991     } else {
    4992         $pages = array( $post->post_content );
    4993         $multipage = 0;
    4994     }
    4995 
    4996     return compact( 'multipage', 'pages', 'numpages' );
    4997 }
  • trunk/wp-includes/query.php

    r24593 r24598  
    36303630    endif;
    36313631}
    3632 /**
    3633  * Split the passed content by <!--nextpage-->
    3634  *
    3635  * @since 3.6.0
    3636  *
    3637  * @param string $content Content to split.
    3638  * @return array Paged content.
    3639  */
    3640 function paginate_content( $content ) {
    3641     $content = str_replace( "\n<!--nextpage-->\n", '<!--nextpage-->', $content );
    3642     $content = str_replace( "\n<!--nextpage-->",   '<!--nextpage-->', $content );
    3643     $content = str_replace( "<!--nextpage-->\n",   '<!--nextpage-->', $content );
    3644     return explode( '<!--nextpage-->', $content );
    3645 }
    3646 
    3647 /**
    3648  * Return content offset by $page
    3649  *
    3650  * @since 3.6.0
    3651  *
    3652  * @param string $content
    3653  * @param int $paged
    3654  * @return string
    3655  */
    3656 function get_paged_content( $content = '', $paged = 0 ) {
    3657     global $page;
    3658     if ( empty( $page ) )
    3659         $page = 1;
    3660 
    3661     if ( empty( $paged ) )
    3662         $paged = $page;
    3663 
    3664     if ( empty( $content ) ) {
    3665         $post = get_post();
    3666         if ( empty( $post ) )
    3667             return '';
    3668 
    3669         $content = $post->post_content;
    3670     }
    3671 
    3672     $pages = paginate_content( $content );
    3673     if ( isset( $pages[$paged - 1] ) )
    3674         return $pages[$paged - 1];
    3675 
    3676     return reset( $pages );
    3677 }
    36783632
    36793633/**
     
    36963650    $currentmonth = mysql2date('m', $post->post_date, false);
    36973651    $numpages = 1;
     3652    $multipage = 0;
    36983653    $page = get_query_var('page');
    36993654    if ( ! $page )
     
    37013656    if ( is_single() || is_page() || is_feed() )
    37023657        $more = 1;
    3703 
    3704     extract( wp_parse_post_content( $post, false ) );
    3705 
    3706     if ( $multipage && ( $page > 1 ) )
     3658    $content = $post->post_content;
     3659    if ( strpos( $content, '<!--nextpage-->' ) ) {
     3660        if ( $page > 1 )
    37073661            $more = 1;
     3662        $content = str_replace( "\n<!--nextpage-->\n", '<!--nextpage-->', $content );
     3663        $content = str_replace( "\n<!--nextpage-->", '<!--nextpage-->', $content );
     3664        $content = str_replace( "<!--nextpage-->\n", '<!--nextpage-->', $content );
     3665        $pages = explode('<!--nextpage-->', $content);
     3666        $numpages = count($pages);
     3667        if ( $numpages > 1 )
     3668            $multipage = 1;
     3669    } else {
     3670        $pages = array( $post->post_content );
     3671    }
    37083672
    37093673    do_action_ref_array('the_post', array(&$post));
Note: See TracChangeset for help on using the changeset viewer.