WordPress.org

Make WordPress Core

Ticket #17029: 17029.2.diff

File 17029.2.diff, 2.0 KB (added by greuben, 7 years ago)

typo fix and also includes taxonomies

  • wp-admin/includes/nav-menu.php

     
    207207 * @uses Walker_Nav_Menu
    208208 */
    209209class Walker_Nav_Menu_Checklist extends Walker_Nav_Menu  {
     210        function __construct( $fields = false ) {
     211                if( $fields ) {
     212                        $this->db_fields = $fields;
     213                }
     214        }
     215       
     216        function start_lvl( &$output, $depth ) {
     217                $indent = str_repeat( "\t", $depth );
     218                $output .= "\n$indent<ul class='children'>\n";
     219        }
     220       
     221        function end_lvl( &$output, $depth ) {
     222                $indent = str_repeat( "\t", $depth );
     223                $output .= "\n$indent</ul>";
     224        }
    210225
    211226        /**
    212227         * @see Walker::start_el()
     
    613628
    614629        if ( !$posts )
    615630                $error = '<li id="error">'. $post_type['args']->labels->not_found .'</li>';
     631               
     632        $db_fields = false;
     633        if( is_post_type_hierarchical( $post_type_name ) ) {
     634                $db_fields = array( 'parent' => 'post_parent', 'id' => 'ID' );
     635        }
    616636
    617         $walker = new Walker_Nav_Menu_Checklist;
     637        $walker = new Walker_Nav_Menu_Checklist( $db_fields );
    618638
    619639        $current_tab = 'most-recent';
    620640        if ( isset( $_REQUEST[$post_type_name . '-tab'] ) && in_array( $_REQUEST[$post_type_name . '-tab'], array('all', 'search') ) ) {
     
    716736                                                        'object_id' => $_nav_menu_placeholder,
    717737                                                        'post_content' => '',
    718738                                                        'post_excerpt' => '',
     739                                                        'post_parent' => '',
    719740                                                        'post_title' => _x('Home', 'nav menu home label'),
    720741                                                        'post_type' => 'nav_menu_item',
    721742                                                        'type' => 'custom',
     
    820841                'total' => $num_pages,
    821842                'current' => $pagenum
    822843        ));
     844       
     845        $db_fields = false;
     846        if( is_taxonomy_hierarchical( $taxonomy_name ) ) {
     847                $db_fields = array( 'parent' => 'parent', 'id' => 'term_id' );
     848        }
    823849
    824         $walker = new Walker_Nav_Menu_Checklist;
     850        $walker = new Walker_Nav_Menu_Checklist( $db_fields );
    825851
    826852        $current_tab = 'most-used';
    827853        if ( isset( $_REQUEST[$taxonomy_name . '-tab'] ) && in_array( $_REQUEST[$taxonomy_name . '-tab'], array('all', 'most-used', 'search') ) ) {