Make WordPress Core

Changeset 24598


Ignore:
Timestamp:
07/09/2013 05:22:50 AM (13 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.