Make WordPress Core

Changeset 36168


Ignore:
Timestamp:
01/04/2016 05:15:31 PM (9 years ago)
Author:
obenland
Message:

Template: Always display the site title on the front page.

Limits using the page title to the blog page when the site has a static front page,
bringing it N’Sync with wp_title().

Props peterwilsoncc.
Fixes #34962.

Location:
trunk
Files:
2 edited

Legend:

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

    r36107 r36168  
    857857        $title['title'] = sprintf( __( 'Search Results for “%s”' ), get_search_query() );
    858858
    859     // If on the home or front page, use the site title.
    860     } elseif ( is_home() && is_front_page() ) {
     859    // If on the front page, use the site title.
     860    } elseif ( is_front_page() ) {
    861861        $title['title'] = get_bloginfo( 'name', 'display' );
    862862
     
    870870
    871871    /*
    872      * If we're on the blog page and that page is not the homepage or a single
    873      * page that is designated as the homepage, use the container page's title.
    874      */
    875     } elseif ( ( is_home() && ! is_front_page() ) || ( ! is_home() && is_front_page() ) ) {
    876         $title['title'] = single_post_title( '', false );
    877 
    878     // If on a single post of any post type, use the post title.
    879     } elseif ( is_singular() ) {
     872     * If we're on the blog page that is not the homepage or
     873     * a single post of any post type, use the post title.
     874     */
     875    } elseif ( is_home() || is_singular() ) {
    880876        $title['title'] = single_post_title( '', false );
    881877
     
    905901
    906902    // Append the description or site title to give context.
    907     if ( is_home() && is_front_page() ) {
     903    if ( is_front_page() ) {
    908904        $title['tagline'] = get_bloginfo( 'description', 'display' );
    909905    } else {
  • trunk/tests/phpunit/tests/general/document-title.php

    r35334 r36168  
    8080    function test_front_page_title() {
    8181        update_option( 'show_on_front', 'page' );
    82         update_option( 'page_for_posts', $this->factory->post->create( array( 'post_title' => 'blog-page', 'post_type' => 'page' ) ) );
    8382        update_option( 'page_on_front', $this->factory->post->create( array( 'post_title' => 'front-page', 'post_type' => 'page' ) ) );
    84 
    85         $this->go_to( '/' );
    86 
    87         $this->assertEquals( sprintf( 'front-page – %s', $this->blog_name ), wp_get_document_title() );
     83        add_filter( 'document_title_parts', array( $this, '_front_page_title_parts' ) );
     84
     85        $this->go_to( '/' );
     86        $this->assertEquals( sprintf( '%s – Just another WordPress site', $this->blog_name ), wp_get_document_title() );
    8887
    8988        update_option( 'show_on_front', 'posts' );
    90     }
    91 
    92     function test_home_title() {
    93         $this->go_to( '/' );
    94 
    95         add_filter( 'document_title_parts', array( $this, '_home_title_parts' ) );
    96 
     89
     90        $this->go_to( '/' );
    9791        $this->assertEquals( sprintf( '%s – Just another WordPress site', $this->blog_name ), wp_get_document_title() );
    9892    }
    9993
    100     function _home_title_parts( $parts ) {
     94    function _front_page_title_parts( $parts ) {
    10195        $this->assertArrayHasKey( 'title', $parts );
    10296        $this->assertArrayHasKey( 'tagline', $parts );
     
    10498
    10599        return $parts;
     100    }
     101
     102    function test_home_title() {
     103        $blog_page_id = $this->factory->post->create( array( 'post_title' => 'blog-page', 'post_type' => 'page' ) );
     104        update_option( 'show_on_front', 'page' );
     105        update_option( 'page_for_posts', $blog_page_id );
     106
     107        // Show page name on home page if it's not the front page.
     108        $this->go_to( get_permalink( $blog_page_id ) );
     109        $this->assertEquals( sprintf( 'blog-page – %s', $this->blog_name ), wp_get_document_title() );
    106110    }
    107111
Note: See TracChangeset for help on using the changeset viewer.