Make WordPress Core

Ticket #21881: 21881.2.patch

File 21881.2.patch, 1.0 KB (added by stevegrunwell, 10 years ago)

As get_query_var() can return arrays, only use get_post_type_archive_link() will receive a string

  • src/wp-includes/category-template.php

     
    511511                }
    512512        } else {
    513513                if ( ! empty( $show_option_all ) ) {
    514                         $posts_page = ( 'page' == get_option( 'show_on_front' ) && get_option( 'page_for_posts' ) ) ? get_permalink( get_option( 'page_for_posts' ) ) : home_url( '/' );
     514                        // We're explicitly specifying a post type
     515                        $post_type = get_query_var( 'post_type' );
     516                        if ( $post_type && is_string( $post_type ) ) {
     517                                $posts_page = get_post_type_archive_link( $post_type );
     518                        } elseif ( 'page' == get_option( 'show_on_front' ) && get_option( 'page_for_posts' ) ) {
     519                                $posts_page = get_permalink( get_option( 'page_for_posts' ) );
     520                        } else {
     521                                $posts_page = home_url( '/' );
     522                        }
    515523                        $posts_page = esc_url( $posts_page );
    516524                        if ( 'list' == $r['style'] ) {
    517525                                $output .= "<li class='cat-item-all'><a href='$posts_page'>$show_option_all</a></li>";