Make WordPress Core

Ticket #40662: 40662.3.diff

File 40662.3.diff, 5.1 KB (added by robobot3000, 3 years ago)

Restored an accidentally deleted PHPdoc @return

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

     
    16601660 *
    16611661 * @since 1.0.0
    16621662 *
    1663  * @param string $url    URL to archive.
    1664  * @param string $text   Archive text description.
    1665  * @param string $format Optional, default is 'html'. Can be 'link', 'option', 'html', or custom.
    1666  * @param string $before Optional. Content to prepend to the description. Default empty.
    1667  * @param string $after  Optional. Content to append to the description. Default empty.
     1663 * @param string $url      URL to archive.
     1664 * @param string $text     Archive text description.
     1665 * @param string $format   Optional, default is 'html'. Can be 'link', 'option', 'html', or custom.
     1666 * @param string $before   Optional. Content to prepend to the description. Default empty.
     1667 * @param string $after    Optional. Content to append to the description. Default empty.
     1668 * @param bool   $selected Optional. Set to true if the current page is the selected archive page.
    16681669 * @return string HTML link content for archive.
    16691670 */
    1670 function get_archives_link( $url, $text, $format = 'html', $before = '', $after = '' ) {
     1671function get_archives_link( $url, $text, $format = 'html', $before = '', $after = '', $selected = false ) {
    16711672        $text = wptexturize( $text );
    16721673        $url  = esc_url( $url );
    16731674
    16741675        if ( 'link' == $format ) {
    16751676                $link_html = "\t<link rel='archives' title='" . esc_attr( $text ) . "' href='$url' />\n";
    1676         } elseif ( 'option' == $format ) {
    1677                 $link_html = "\t<option value='$url'>$before $text $after</option>\n";
     1677        } elseif ('option' == $format) {
     1678                $selected_attr = $selected ? " selected='selected'" : '';
     1679                $link_html = "\t<option value='$url'$selected_attr>$before $text $after</option>\n";
    16781680        } elseif ( 'html' == $format ) {
    16791681                $link_html = "\t<li>$before<a href='$url'>$text</a>$after</li>\n";
    16801682        } else { // custom
     
    16931695         * @param string $format    Link format. Can be 'link', 'option', 'html', or custom.
    16941696         * @param string $before    Content to prepend to the description.
    16951697         * @param string $after     Content to append to the description.
     1698         * @param bool   $selected  True if the current page is the selected archive
    16961699         */
    1697         return apply_filters( 'get_archives_link', $link_html, $url, $text, $format, $before, $after );
     1700        return apply_filters( 'get_archives_link', $link_html, $url, $text, $format, $before, $after, $selected );
    16981701}
    16991702
    17001703/**
     
    17451748                'echo'            => 1,
    17461749                'order'           => 'DESC',
    17471750                'post_type'       => 'post',
     1751                'year'            => get_query_var( 'year' ),
     1752                'monthnum'        => get_query_var( 'monthnum' ),
     1753                'day'             => get_query_var( 'day' ),
     1754                'week'            => get_query_var( 'w' ),
    17481755        );
    17491756
    17501757        $r = wp_parse_args( $args, $defaults );
     
    18201827                                if ( $r['show_post_count'] ) {
    18211828                                        $r['after'] = '&nbsp;(' . $result->posts . ')' . $after;
    18221829                                }
    1823                                 $output .= get_archives_link( $url, $text, $r['format'], $r['before'], $r['after'] );
     1830                                $selected = is_archive() && ( string ) $r[ 'year' ] === $result->year && ( string ) $r[ 'monthnum' ] === $result->month;
     1831                                $output .= get_archives_link( $url, $text, $r['format'], $r['before'], $r['after'], $selected );
    18241832                        }
    18251833                }
    18261834        } elseif ( 'yearly' == $r['type'] ) {
     
    18421850                                if ( $r['show_post_count'] ) {
    18431851                                        $r['after'] = '&nbsp;(' . $result->posts . ')' . $after;
    18441852                                }
    1845                                 $output .= get_archives_link( $url, $text, $r['format'], $r['before'], $r['after'] );
     1853                                $selected = is_archive() && ( string ) $r[ 'year' ] === $result->year;
     1854                                $output .= get_archives_link( $url, $text, $r['format'], $r['before'], $r['after'], $selected );
    18461855                        }
    18471856                }
    18481857        } elseif ( 'daily' == $r['type'] ) {
     
    18651874                                if ( $r['show_post_count'] ) {
    18661875                                        $r['after'] = '&nbsp;(' . $result->posts . ')' . $after;
    18671876                                }
    1868                                 $output .= get_archives_link( $url, $text, $r['format'], $r['before'], $r['after'] );
     1877                                $selected = is_archive() && ( string ) $r[ 'year' ] === $result->year && ( string ) $r[ 'monthnum' ] === $result->month && ( string ) $r[ 'day' ] === $result->dayofmonth;
     1878                                $output .= get_archives_link( $url, $text, $r['format'], $r['before'], $r['after'], $selected );
    18691879                        }
    18701880                }
    18711881        } elseif ( 'weekly' == $r['type'] ) {
     
    19011911                                        if ( $r['show_post_count'] ) {
    19021912                                                $r['after'] = '&nbsp;(' . $result->posts . ')' . $after;
    19031913                                        }
    1904                                         $output .= get_archives_link( $url, $text, $r['format'], $r['before'], $r['after'] );
     1914                                        $selected = is_archive() && ( string ) $r[ 'year' ] === $result->yr && ( string ) $r[ 'week' ] === $result->week;
     1915                                        $output .= get_archives_link( $url, $text, $r['format'], $r['before'], $r['after'], $selected );
    19051916                                }
    19061917                        }
    19071918                }
     
    19241935                                        } else {
    19251936                                                $text = $result->ID;
    19261937                                        }
    1927                                         $output .= get_archives_link( $url, $text, $r['format'], $r['before'], $r['after'] );
     1938                                        $selected = $result->ID === get_the_ID();
     1939                                        $output .= get_archives_link( $url, $text, $r['format'], $r['before'], $r['after'], $selected );
    19281940                                }
    19291941                        }
    19301942                }