Backup / Restore Menu & Widget

     

📤 Backup

     
                         
     
     

📥 Restore (Ghi đè toàn bộ)

     
                                   
 
  term_id);           $menu_data[] = [               'name' => $menu->name,               'slug' => $menu->slug,               'items' => $items           ];       }       // WIDGET       $widgets = get_option('sidebars_widgets');       $widget_data = [];       foreach ($widgets as $sidebar => $widget_ids) {           if (!is_array($widget_ids)) continue;           foreach ($widget_ids as $widget_id) {               $parts = explode('-', $widget_id);               $base = $parts[0];               $instances = get_option('widget_' . $base);               if ($instances) {                   $widget_data[$widget_id] = $instances;               }           }       }       $data = [           'menus' => $menu_data,           'widgets' => $widget_data,           'sidebars' => $widgets       ];       header('Content-Type: application/json');       header('Content-Disposition: attachment; filename=backup-menu-widget.json');       echo json_encode($data);       exit;   }});// ====== RESTORE (GHI ĐÈ) ======add_action('admin_init', function () {   if (isset($_POST['bmw_restore']) && !empty($_FILES['bmw_file']['tmp_name'])) {       $json = file_get_contents($_FILES['bmw_file']['tmp_name']);       $data = json_decode($json, true);       if (!$data) return;       // ===== XÓA MENU CŨ =====       $menus = wp_get_nav_menus();       foreach ($menus as $menu) {           wp_delete_nav_menu($menu->term_id);       }       // ===== IMPORT MENU =====       foreach ($data['menus'] as $menu) {           $menu_id = wp_create_nav_menu($menu['name']);           foreach ($menu['items'] as $item) {               wp_update_nav_menu_item($menu_id, 0, [                   'menu-item-title' => $item->title,                   'menu-item-url' => $item->url,                   'menu-item-status' => 'publish',                   'menu-item-parent-id' => $item->menu_item_parent,                   'menu-item-type' => $item->type               ]);           }       }       // ===== RESET WIDGET =====       update_option('sidebars_widgets', []);       // ===== IMPORT WIDGET =====       foreach ($data['widgets'] as $widget_id => $instances) {           $parts = explode('-', $widget_id);           $base = $parts[0];           update_option('widget_' . $base, $instances);       }       update_option('sidebars_widgets', $data['sidebars']);       wp_redirect(admin_url('admin.php?page=bmw-backup&restored=1'));       exit;   }}); Không Tìm Thấy Trang » Truyen 333

404

Oops! That page can’t be found.

Back to home