WordPress.org

Make WordPress Core

Ticket #15773: 15773.diff

File 15773.diff, 5.3 KB (added by scribu, 3 years ago)
  • wp-includes/query.php

     
    10631063        var $is_attachment = false; 
    10641064 
    10651065        /** 
    1066          * Set if is single, is a page, or is an attachment. 
    1067          * 
    1068          * @since 2.1.0 
    1069          * @access public 
    1070          * @var bool 
    1071          */ 
    1072         var $is_singular = false; 
    1073  
    1074         /** 
    10751066         * Set if query is for robots. 
    10761067         * 
    10771068         * @since 2.1.0 
     
    11011092        var $is_post_type_archive = false; 
    11021093 
    11031094        /** 
     1095         * Used by comments_template() 
     1096         * 
     1097         * @since 3.2.0 
     1098         * @access public 
     1099         * @var bool 
     1100         */ 
     1101        var $comments_by_type; 
     1102 
     1103        /** 
     1104         * Overloading, to access deprecated query flags 
     1105         * 
     1106         * The query flags are what page info WordPress was able to figure out. 
     1107         * 
     1108         * @since 3.2.0 
     1109         * @access public 
     1110         */ 
     1111        function __get( $key ) { 
     1112                if ( 'is_singular' == $key ) { 
     1113                        _deprecated_argument( __CLASS__, '3.2', 'Use the is_singular() method instead.' ); 
     1114                        return $this->is_singular(); 
     1115                } 
     1116        } 
     1117 
     1118        /** 
    11041119         * Resets query flags to false. 
    11051120         * 
    11061121         * The query flags are what page info WordPress was able to figure out. 
     
    11321147                $this->is_paged = false; 
    11331148                $this->is_admin = false; 
    11341149                $this->is_attachment = false; 
    1135                 $this->is_singular = false; 
    11361150                $this->is_robots = false; 
    11371151                $this->is_posts_page = false; 
    11381152                $this->is_post_type_archive = false; 
     
    14021416                        $qv['withcomments'] = 1; 
    14031417                } 
    14041418 
    1405                 $this->is_singular = $this->is_single || $this->is_page || $this->is_attachment; 
    1406  
    1407                 if ( $this->is_feed && ( !empty($qv['withcomments']) || ( empty($qv['withoutcomments']) && $this->is_singular ) ) ) 
     1419                if ( $this->is_feed && ( !empty($qv['withcomments']) || ( empty($qv['withoutcomments']) && $this->is_singular() ) ) ) 
    14081420                        $this->is_comment_feed = true; 
    14091421 
    1410                 if ( !( $this->is_singular || $this->is_archive || $this->is_search || $this->is_feed || $this->is_trackback || $this->is_404 || $this->is_admin || $this->is_comments_popup || $this->is_robots ) ) 
     1422                if ( !( $this->is_singular() || $this->is_archive || $this->is_search || $this->is_feed || $this->is_trackback || $this->is_404 || $this->is_admin || $this->is_comments_popup || $this->is_robots ) ) 
    14111423                        $this->is_home = true; 
    14121424 
    14131425                // Correct is_* for page_on_front and page_for_posts 
     
    14601472                if ( $this->is_posts_page && ( ! isset($qv['withcomments']) || ! $qv['withcomments'] ) ) 
    14611473                        $this->is_comment_feed = false; 
    14621474 
    1463                 $this->is_singular = $this->is_single || $this->is_page || $this->is_attachment; 
    14641475                // Done correcting is_* for page_on_front and page_for_posts 
    14651476 
    14661477                if ( '404' == $qv['error'] ) 
     
    15231534                } 
    15241535 
    15251536                // Category stuff 
    1526                 if ( !empty($q['cat']) && '0' != $q['cat'] && !$this->is_singular ) { 
     1537                if ( !empty($q['cat']) && '0' != $q['cat'] && !$this->is_singular() ) { 
    15271538                        $q['cat'] = ''.urldecode($q['cat']).''; 
    15281539                        $q['cat'] = addslashes_gpc($q['cat']); 
    15291540                        $cat_array = preg_split('/[,\s]+/', $q['cat']); 
     
    21872198                        } 
    21882199                        foreach ( $statuswheres as $statuswhere ) 
    21892200                                $where .= " AND $statuswhere"; 
    2190                 } elseif ( !$this->is_singular ) { 
     2201                } elseif ( !$this->is_singular() ) { 
    21912202                        $where .= " AND ($wpdb->posts.post_status = 'publish'"; 
    21922203 
    21932204                        // Add public states. 
     
    22292240                } 
    22302241 
    22312242                // Paging 
    2232                 if ( empty($q['nopaging']) && !$this->is_singular ) { 
     2243                if ( empty($q['nopaging']) && !$this->is_singular() ) { 
    22332244                        $page = absint($q['paged']); 
    22342245                        if ( empty($page) ) 
    22352246                                $page = 1; 
     
    22462257                } 
    22472258 
    22482259                // Comments feeds 
    2249                 if ( $this->is_comment_feed && ( $this->is_archive || $this->is_search || !$this->is_singular ) ) { 
     2260                if ( $this->is_comment_feed && ( $this->is_archive || $this->is_search || !$this->is_singular() ) ) { 
    22502261                        if ( $this->is_archive || $this->is_search ) { 
    22512262                                $cjoin = "JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID = $wpdb->posts.ID) $join "; 
    22522263                                $cwhere = "WHERE comment_approved = '1' $where"; 
     
    23582369                if ( !$q['suppress_filters'] ) 
    23592370                        $this->posts = apply_filters_ref_array('posts_results', array( $this->posts, &$this ) ); 
    23602371 
    2361                 if ( !empty($this->posts) && $this->is_comment_feed && $this->is_singular ) { 
     2372                if ( !empty($this->posts) && $this->is_comment_feed && $this->is_singular() ) { 
    23622373                        $cjoin = apply_filters_ref_array('comment_feed_join', array( '', &$this ) ); 
    23632374                        $cwhere = apply_filters_ref_array('comment_feed_where', array( "WHERE comment_post_ID = '{$this->posts[0]->ID}' AND comment_approved = '1'", &$this ) ); 
    23642375                        $cgroupby = apply_filters_ref_array('comment_feed_groupby', array( '', &$this ) ); 
     
    26742685                        $page_for_posts = get_option('page_for_posts'); 
    26752686                        $this->queried_object = & get_page( $page_for_posts ); 
    26762687                        $this->queried_object_id = (int) $this->queried_object->ID; 
    2677                 } elseif ( $this->is_singular && !is_null($this->post) ) { 
     2688                } elseif ( $this->is_singular() && !is_null($this->post) ) { 
    26782689                        $this->queried_object = $this->post; 
    26792690                        $this->queried_object_id = (int) $this->post->ID; 
    26802691                } elseif ( $this->is_author ) { 
     
    31473158         * @return bool 
    31483159         */ 
    31493160        function is_singular( $post_types = '' ) { 
    3150                 if ( empty( $post_types ) || !$this->is_singular ) 
    3151                         return (bool) $this->is_singular; 
     3161                $is_singular = $this->is_single || $this->is_page || $this->is_attachment; 
    31523162 
     3163                if ( empty( $post_types ) || !$is_singular ) 
     3164                        return $is_singular; 
     3165 
    31533166                $post_obj = $this->get_queried_object(); 
    31543167 
    31553168                return in_array( $post_obj->post_type, (array) $post_types );