WordPress.org

Make WordPress Core

Ticket #17039: 17039.2.diff

File 17039.2.diff, 1.5 KB (added by kawauso, 3 years ago)

wp_trim_excerpt() isn't fired if post_password_required() is true, so drop internal check

  • wp-includes/formatting.php

     
    18591859function wp_trim_excerpt($text) { 
    18601860        $raw_excerpt = $text; 
    18611861        if ( '' == $text ) { 
    1862                 $text = get_the_content(''); 
     1862                global $page, $pages, $preview; 
    18631863 
     1864                $is_teaser = false; 
     1865 
     1866                $text = $pages[$page-1]; 
     1867 
     1868                if ( preg_match('/<!--more(.*?)?-->/', $text, $matches) ) { 
     1869                        list($text) = explode($matches[0], $text, 2); 
     1870                        $is_teaser = true; 
     1871                } 
     1872 
     1873                if ( $preview ) // preview fix for javascript bug with foreign languages 
     1874                        $text = preg_replace_callback('/\%u([0-9A-F]{4})/', '_convert_urlencoded_to_entities', $text); 
     1875 
    18641876                $text = strip_shortcodes( $text ); 
    18651877 
    18661878                $text = apply_filters('the_content', $text); 
    18671879                $text = str_replace(']]>', ']]&gt;', $text); 
    18681880                $text = strip_tags($text); 
    18691881                $excerpt_length = apply_filters('excerpt_length', 55); 
    1870                 $excerpt_more = apply_filters('excerpt_more', ' ' . '[...]'); 
     1882                $excerpt_more = apply_filters('excerpt_more', ' [...]'); 
    18711883                $words = preg_split("/[\n\r\t ]+/", $text, $excerpt_length + 1, PREG_SPLIT_NO_EMPTY); 
     1884 
    18721885                if ( count($words) > $excerpt_length ) { 
    18731886                        array_pop($words); 
    1874                         $text = implode(' ', $words); 
     1887                        $is_teaser = true; 
     1888                } 
     1889 
     1890                $text = implode(' ', $words); 
     1891 
     1892                if ( $is_teaser ) 
    18751893                        $text = $text . $excerpt_more; 
    1876                 } else { 
    1877                         $text = implode(' ', $words); 
    1878                 } 
    18791894        } 
    18801895        return apply_filters('wp_trim_excerpt', $text, $raw_excerpt); 
    18811896}