WordPress.org

Make WordPress Core

Ticket #35107: 35107.diff

File 35107.diff, 7.1 KB (added by peterwilsoncc, 6 years ago)
  • src/wp-includes/class-walker-page.php

    diff --git a/src/wp-includes/class-walker-page.php b/src/wp-includes/class-walker-page.php
    index 119ea6e..2cc2ddb 100644
    a b class Walker_Page extends Walker { 
    133133
    134134                /** This filter is documented in wp-includes/post-template.php */
    135135                $output .= $indent . sprintf(
    136                         '<li class="%s"><a href="%s">%s%s%s</a>',
     136                        '%s<li class="%s"><a href="%s">%s%s%s</a>',
     137                        $args['item_before'],
    137138                        $css_classes,
    138139                        get_permalink( $page->ID ),
    139140                        $args['link_before'],
    class Walker_Page extends Walker { 
    166167         * @param array  $args
    167168         */
    168169        public function end_el( &$output, $page, $depth = 0, $args = array() ) {
    169                 $output .= "</li>\n";
     170                $output .= "</li>" . $args['item_after'];
    170171        }
    171172
    172173}
  • src/wp-includes/nav-menu-template.php

    diff --git a/src/wp-includes/nav-menu-template.php b/src/wp-includes/nav-menu-template.php
    index 253b654..5cc86d2 100644
    a b class Walker_Nav_Menu extends Walker { 
    124124                $id = apply_filters( 'nav_menu_item_id', 'menu-item-'. $item->ID, $item, $args, $depth );
    125125                $id = $id ? ' id="' . esc_attr( $id ) . '"' : '';
    126126
    127                 $output .= $indent . '<li' . $id . $class_names .'>';
     127                $output .= $indent . $args->item_before . '<li' . $id . $class_names .'>';
    128128
    129129                $atts = array();
    130130                $atts['title']  = ! empty( $item->attr_title ) ? $item->attr_title : '';
    class Walker_Nav_Menu extends Walker { 
    211211         * @param array  $args   An array of arguments. @see wp_nav_menu()
    212212         */
    213213        public function end_el( &$output, $item, $depth = 0, $args = array() ) {
    214                 $output .= '</li>';
     214                $output .= '</li>' . $args->item_after;
    215215        }
    216216
    217217} // Walker_Nav_Menu
    class Walker_Nav_Menu extends Walker { 
    239239 *     @type string        $after           Text after the link text. Default empty.
    240240 *     @type string        $link_before     Text before the link. Default empty.
    241241 *     @type string        $link_after      Text after the link. Default empty.
     242 *     @type string        $item_before     Text before the list item. Default empty.
     243 *     @type string        $item_after      Text after the list item. Default is a line break.
    242244 *     @type bool          $echo            Whether to echo the menu or return it. Default true.
    243245 *     @type int           $depth           How many levels of the hierarchy are to be included. 0 means all. Default 0.
    244246 *     @type object        $walker          Instance of a custom walker class. Default empty.
    function wp_nav_menu( $args = array() ) { 
    254256
    255257        $defaults = array( 'menu' => '', 'container' => 'div', 'container_class' => '', 'container_id' => '', 'menu_class' => 'menu', 'menu_id' => '',
    256258        'echo' => true, 'fallback_cb' => 'wp_page_menu', 'before' => '', 'after' => '', 'link_before' => '', 'link_after' => '', 'items_wrap' => '<ul id="%1$s" class="%2$s">%3$s</ul>',
     259        'item_before' => '', 'item_after' => "\n",
    257260        'depth' => 0, 'walker' => '', 'theme_location' => '' );
    258261
    259262        $args = wp_parse_args( $args, $defaults );
  • src/wp-includes/post-template.php

    diff --git a/src/wp-includes/post-template.php b/src/wp-includes/post-template.php
    index ed2ce12..bbb2450 100644
    a b function wp_dropdown_pages( $args = '' ) { 
    11111111 *     @type array  $include      Comma-separated list of page IDs to include. Default empty.
    11121112 *     @type string $link_after   Text or HTML to follow the page link label. Default null.
    11131113 *     @type string $link_before  Text or HTML to precede the page link label. Default null.
     1114 *     @type string $item_before Text before the list item. Default empty.
     1115 *     @type string $item_after  Text after the list item. Default is a line break.
    11141116 *     @type string $post_type    Post type to query for. Default 'page'.
    11151117 *     @type string $post_status  Comma-separated list of post statuses to include. Default 'publish'.
    11161118 *     @type string $show_date    Whether to display the page publish or modified date for each page. Accepts
    function wp_list_pages( $args = '' ) { 
    11321134                'title_li' => __( 'Pages' ), 'echo' => 1,
    11331135                'authors' => '', 'sort_column' => 'menu_order, post_title',
    11341136                'link_before' => '', 'link_after' => '', 'walker' => '',
     1137                'item_before' => '', 'item_after' => "\n",
    11351138        );
    11361139
    11371140        $r = wp_parse_args( $args, $defaults );
    function wp_list_pages( $args = '' ) { 
    11601163
    11611164        if ( ! empty( $pages ) ) {
    11621165                if ( $r['title_li'] ) {
    1163                         $output .= '<li class="pagenav">' . $r['title_li'] . '<ul>';
     1166                        $output .= $r['item_before'] . '<li class="pagenav">' . $r['title_li'] . '<ul>';
    11641167                }
    11651168                global $wp_query;
    11661169                if ( is_page() || is_attachment() || $wp_query->is_posts_page ) {
    function wp_list_pages( $args = '' ) { 
    11751178                $output .= walk_page_tree( $pages, $r['depth'], $current_page, $r );
    11761179
    11771180                if ( $r['title_li'] ) {
    1178                         $output .= '</ul></li>';
     1181                        $output .= '</ul></li>' . $r['item_after'];
    11791182                }
    11801183        }
    11811184
    function wp_list_pages( $args = '' ) { 
    12241227 *                                        you'd like shown for the home link. 1|true defaults to 'Home'.
    12251228 *     @type string          $link_before The HTML or text to prepend to $show_home text. Default empty.
    12261229 *     @type string          $link_after  The HTML or text to append to $show_home text. Default empty.
     1230 *     @type string          $item_before Text before the list item. Default empty.
     1231 *     @type string          $item_after  Text after the list item. Default is a line break.
    12271232 *     @type string          $before      The HTML or text to prepend to the menu. Default is '<ul>'.
    12281233 *     @type string          $after       The HTML or text to append to the menu. Default is '</ul>'.
    12291234 *     @type Walker          $walker      Walker instance to use for listing pages. Default empty (Walker_Page).
    function wp_page_menu( $args = array() ) { 
    12391244                'echo'        => true,
    12401245                'link_before' => '',
    12411246                'link_after'  => '',
     1247                'item_before' => '',
     1248                'item_after'  => "\n",
    12421249                'before'      => '<ul>',
    12431250                'after'       => '</ul>',
    12441251                'walker'      => '',
    function wp_page_menu( $args = array() ) { 
    12691276                $class = '';
    12701277                if ( is_front_page() && !is_paged() )
    12711278                        $class = 'class="current_page_item"';
    1272                 $menu .= '<li ' . $class . '><a href="' . home_url( '/' ) . '">' . $args['link_before'] . $text . $args['link_after'] . '</a></li>';
     1279                $menu .= $args['item_before'] . '<li ' . $class . '><a href="' . home_url( '/' ) . '">' . $args['link_before'] . $text . $args['link_after'] . '</a></li>' . $args['item_after'];
    12731280                // If the front page is a page, add it to the exclude list
    12741281                if (get_option('show_on_front') == 'page') {
    12751282                        if ( !empty( $list_args['exclude'] ) ) {
    function wp_page_menu( $args = array() ) { 
    12811288                }
    12821289        }
    12831290
    1284         $list_args['echo'] = false;
    1285         $list_args['title_li'] = '';
    1286         $menu .= str_replace( array( "\r", "\n", "\t" ), '', wp_list_pages($list_args) );
     1291        $list_args['echo']        = false;
     1292        $list_args['title_li']    = '';
     1293        $list_args['item_before'] = $args['item_before'];
     1294        $list_args['item_after']  = $args['item_after'];
     1295        $menu .= wp_list_pages($list_args);
    12871296
    12881297        $container = sanitize_text_field( $args['container'] );
    12891298