| 1 | Index: wp-admin/admin-ajax.php |
|---|
| 2 | =================================================================== |
|---|
| 3 | --- wp-admin/admin-ajax.php (revision 14722) |
|---|
| 4 | +++ wp-admin/admin-ajax.php (working copy) |
|---|
| 5 | @@ -1106,6 +1106,7 @@ |
|---|
| 6 | case 'menu-locations-save': |
|---|
| 7 | if ( ! current_user_can( 'edit_theme_options' ) ) |
|---|
| 8 | die('-1'); |
|---|
| 9 | + check_ajax_referer( 'add-menu_item', 'menu-settings-column-nonce' ); |
|---|
| 10 | if ( ! isset( $_POST['menu-locations' ] ) ) |
|---|
| 11 | die('0'); |
|---|
| 12 | set_theme_mod( 'nav_menu_locations', $_POST['menu-locations'] ); |
|---|
| 13 | Index: wp-admin/js/nav-menu.dev.js |
|---|
| 14 | =================================================================== |
|---|
| 15 | --- wp-admin/js/nav-menu.dev.js (revision 14722) |
|---|
| 16 | +++ wp-admin/js/nav-menu.dev.js (working copy) |
|---|
| 17 | @@ -34,6 +34,7 @@ |
|---|
| 18 | this.setupInputWithDefaultTitle(); |
|---|
| 19 | this.attachAddMenuItemListeners(); |
|---|
| 20 | this.attachQuickSearchListeners(); |
|---|
| 21 | + this.attachThemeLocationsListeners(); |
|---|
| 22 | |
|---|
| 23 | this.attachTabsPanelListeners(); |
|---|
| 24 | |
|---|
| 25 | @@ -329,7 +330,7 @@ |
|---|
| 26 | }, |
|---|
| 27 | |
|---|
| 28 | attachAddMenuItemListeners : function() { |
|---|
| 29 | - var form = $('#nav-menu-meta'), loc = form.find('#nav-menu-theme-locations'); |
|---|
| 30 | + var form = $('#nav-menu-meta'); |
|---|
| 31 | |
|---|
| 32 | form.find('.add-to-menu input').click(function(){ |
|---|
| 33 | $(this).trigger('wp-add-menu-item', [api.addMenuItemToBottom]); |
|---|
| 34 | @@ -341,9 +342,18 @@ |
|---|
| 35 | form.find('.posttypediv, .taxonomydiv').bind('wp-add-menu-item', function(e, processMethod) { |
|---|
| 36 | $(this).addSelectedToMenu( processMethod ); |
|---|
| 37 | }); |
|---|
| 38 | + }, |
|---|
| 39 | + |
|---|
| 40 | + attachThemeLocationsListeners : function() { |
|---|
| 41 | + var loc = $('#nav-menu-theme-locations'), |
|---|
| 42 | + params = { |
|---|
| 43 | + 'action': 'menu-locations-save', |
|---|
| 44 | + 'menu-locations': loc.find('select').serialize(), |
|---|
| 45 | + 'menu-settings-column-nonce': $('#menu-settings-column-nonce').val() |
|---|
| 46 | + }; |
|---|
| 47 | loc.find('input[type=submit]').click(function() { |
|---|
| 48 | loc.find('.waiting').show(); |
|---|
| 49 | - $.post( ajaxurl, loc.find('select').serialize() + '&action=menu-locations-save', function(r) { |
|---|
| 50 | + $.post( ajaxurl, params, function(r) { |
|---|
| 51 | loc.find('.waiting').hide(); |
|---|
| 52 | }); |
|---|
| 53 | return false; |
|---|