Make WordPress Core


Ignore:
Timestamp:
05/26/2010 02:49:43 PM (14 years ago)
Author:
ryan
Message:

Ajaxify pagination requests in menu boxes. Props filosofo. fixes #13204

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-admin/admin-ajax.php

    r14933 r14943  
    10921092    die('1');
    10931093    break;
     1094case 'menu-get-metabox' :
     1095    if ( ! current_user_can( 'edit_theme_options' ) )
     1096        die('-1');
     1097
     1098    require_once ABSPATH . 'wp-admin/includes/nav-menu.php';
     1099
     1100    if ( isset( $_POST['item-type'] ) && 'post_type' == $_POST['item-type'] ) {
     1101        $type = 'posttype';
     1102        $callback = 'wp_nav_menu_item_post_type_meta_box';
     1103        $items = (array) get_post_types( array( 'show_in_nav_menus' => true ), 'object' );
     1104    } elseif ( isset( $_POST['item-type'] ) && 'taxonomy' == $_POST['item-type'] ) {
     1105        $type = 'taxonomy';
     1106        $callback = 'wp_nav_menu_item_taxonomy_meta_box';
     1107        $items = (array) get_taxonomies( array( 'show_ui' => true ), 'object' );
     1108    }
     1109
     1110    if ( ! empty( $_POST['item-object'] ) && isset( $items[$_POST['item-object']] ) ) {
     1111        $item = apply_filters( 'nav_menu_meta_box_object', $items[ $_POST['item-object'] ] );
     1112        ob_start();
     1113        call_user_func_array($callback, array(
     1114            null,
     1115            array(
     1116                'id' => 'add-' . $item->name,
     1117                'title' => $item->labels->name,
     1118                'callback' => $callback,
     1119                'args' => $item,
     1120            )
     1121        ));
     1122       
     1123        $markup = ob_get_clean();
     1124       
     1125        echo json_encode(array(
     1126            'replace-id' => $type . '-' . $item->name,
     1127            'markup' => $markup,
     1128        ));
     1129    }
     1130
     1131    exit;
     1132    break;
    10941133case 'menu-quick-search':
    10951134    if ( ! current_user_can( 'edit_theme_options' ) )
Note: See TracChangeset for help on using the changeset viewer.