WordPress.org

Make WordPress Core

Ticket #18386: 18386.patch

File 18386.patch, 1.6 KB (added by dd32, 7 years ago)
  • wp-includes/query.php

     
    16181618                                $this->queried_object_id = (int) $this->queried_object->ID;
    16191619                        else
    16201620                                unset($this->queried_object);
    1621 
    1622                         if  ( 'page' == get_option('show_on_front') && isset($this->queried_object_id) && $this->queried_object_id == get_option('page_for_posts') ) {
    1623                                 $this->is_page = false;
    1624                                 $this->is_home = true;
    1625                                 $this->is_posts_page = true;
    1626                         }
    16271621                }
    16281622
    1629                 if ( $qv['page_id'] ) {
    1630                         if  ( 'page' == get_option('show_on_front') && $qv['page_id'] == get_option('page_for_posts') ) {
    1631                                 $this->is_page = false;
    1632                                 $this->is_home = true;
    1633                                 $this->is_posts_page = true;
     1623                if  ( 'page' == get_option('show_on_front') && (
     1624                                                                                                                ( $qv['page_id'] && $qv['page_id'] == get_option('page_for_posts') ) ||
     1625                                                                                                                ( '' != $qv['pagename'] && $this->queried_object_id == get_option('page_for_posts') )
     1626                                                                                                                ) ) {
     1627                        $this->is_page = false;
     1628                        $this->is_singular = false;
     1629                        $this->is_home = true;
     1630                        $this->is_posts_page = true;
     1631
     1632                        $this->parse_tax_query( $qv );
     1633
     1634                        foreach ( $this->tax_query->queries as $tax_query ) {
     1635                                if ( 'NOT IN' != $tax_query['operator'] ) {
     1636                                        switch ( $tax_query['taxonomy'] ) {
     1637                                                case 'category':
     1638                                                        $this->is_category = true;
     1639                                                        break;
     1640                                                case 'post_tag':
     1641                                                        $this->is_tag = true;
     1642                                                        break;
     1643                                                default:
     1644                                                        $this->is_tax = true;
     1645                                        }
     1646                                }
    16341647                        }
     1648                        unset( $tax_query );
    16351649                }
    16361650
    16371651                if ( !empty($qv['post_type']) ) {