/** * Delete one or more menus * * <menu>... * : The name, slug, or term ID for the menu(s) * * ## EXAMPLES * * wp menu delete "My Menu" */ public function delete($args, $_) { foreach ($args as $arg) { $ret = wp_delete_nav_menu($arg); if (!$ret || is_wp_error($ret)) { WP_CLI::warning("Error deleting menu."); } } WP_CLI::success("Menu(s) deleted."); }
/** * Delete one or more menus. * * ## OPTIONS * * <menu>... * : The name, slug, or term ID for the menu(s). * * ## EXAMPLES * * $ wp menu delete "My Menu" * Success: 1 menu deleted. */ public function delete($args, $_) { $count = $errors = 0; foreach ($args as $arg) { $ret = wp_delete_nav_menu($arg); if (!$ret || is_wp_error($ret)) { WP_CLI::warning("Couldn't delete menu '{$arg}'."); $errors++; } else { WP_CLI::log("Deleted menu '{$arg}'."); $count++; } } Utils\report_batch_operation_results('menu', 'delete', count($args), $count, $errors); }
/** * Ajax handler for deleting a menu. * * @since Menu Customizer 0.0. */ function menu_customizer_delete_menu_ajax() { check_ajax_referer('customize-menus', 'customize-nav-menu-nonce'); if (!current_user_can('edit_theme_options')) { wp_die(-1); } $menu_id = absint($_POST['menu_id']); if (is_nav_menu($menu_id)) { $deletion = wp_delete_nav_menu($menu_id); if (is_wp_error($deletion)) { echo $deletion->message(); } } else { echo __('Error: invalid menu to delete.'); } wp_die(); }
/** * creates the menu * @param $menu_name */ function create_menu($menu_name) { $current_menu = wp_get_nav_menu_object($menu_name); if (!$current_menu) { $this->last_menu_id = wp_create_nav_menu($menu_name); $this->log("create_menu({$menu_name})", 'ID:' . $this->last_menu_id); } else { wp_delete_nav_menu($menu_name); $this->last_menu_id = wp_create_nav_menu($menu_name); $this->log("create_menu({$menu_name})", 'Menu recreated ID:' . $this->last_menu_id); /* if (!empty($current_menu->term_id)) { $this->last_menu_id = $current_menu->term_id; $this->log("create_menu($menu_name)", 'menu already exists ID: ' . $this->last_menu_id); } */ } }
/** * Resets ALL Client Dash settings by deleting them. * * @since Client Dash 1.6 */ public function reset_all_settings() { global $ClientDash, $ClientDash_Core_Page_Settings_Tab_Widgets; // Cycle through all option defaults and delete them foreach ($ClientDash->option_defaults as $name => $value) { delete_option("cd_{$name}"); } // Remove all modified admin menus foreach (get_editable_roles() as $role_ID => $role) { // Get the menu object $menu_object = wp_get_nav_menu_object("cd_admin_menu_{$role_ID}"); // If it doesn't exist, it returns false. So skip if (!$menu_object) { continue; } wp_delete_nav_menu("cd_admin_menu_{$role_ID}"); // Delete the nav menu delete_transient("cd_adminmenu_output_{$menu_object->term_id}"); // Cached menu info delete_option("{$menu_object->name}_modified"); // Menu output delete_option("cd_adminmenu_disabled_{$menu_object->term_id}"); // Menu disable option } // Remove all of the widgets // Prevent widget syncing add_filter('cd_sync_widgets', '__return_false'); // This forces the widgets to be reset delete_option('cd_populate_dashboard_widgets'); // Remove each CD sidebar settings $sidebars = get_option('sidebars_widgets'); foreach ($ClientDash_Core_Page_Settings_Tab_Widgets->sidebars as $sidebar) { unset($sidebars[$sidebar['id']]); } update_option('sidebars_widgets', $sidebars); // Remove individual widget settings foreach (ClientDash::$_cd_widgets as $widget_ID => $widget) { delete_option("widget_{$widget_ID}"); } echo 'Settings successfully reset!'; die; }
function callback($path = '', $site = 0, $menu_id = 0) { $site_id = $this->switch_to_blog_and_validate_user($this->api->get_blog_id($site)); if (is_wp_error($site_id)) { return $site_id; } if ($menu_id <= 0) { return new WP_Error('menu-id', 'Menu ID must be greater than 0.', 400); } $result = wp_delete_nav_menu($menu_id); if (!is_wp_error($result)) { $result = array('deleted' => $result); } return $result; }
/** * Create/update the nav_menu term for this setting. * * Any created menus will have their assigned term IDs exported to the client * via the customize_save_response filter. Likewise, any errors will be exported * to the client via the customize_save_response() filter. * * To delete a menu, the client can send false as the value. * * @since 4.3.0 * * @see wp_update_nav_menu_object() * * @param array|false $value { * The value to update. Note that slug cannot be updated via wp_update_nav_menu_object(). * If false, then the menu will be deleted entirely. * * @type string $name The name of the menu to save. * @type string $description The term description. Default empty string. * @type int $parent The id of the parent term. Default 0. * @type bool $auto_add Whether pages will auto_add to this menu. Default false. * } * @return void */ protected function update( $value ) { if ( $this->is_updated ) { return; } $this->is_updated = true; $is_placeholder = ( $this->term_id < 0 ); $is_delete = ( false === $value ); add_filter( 'customize_save_response', array( $this, 'amend_customize_save_response' ) ); $auto_add = null; if ( $is_delete ) { // If the current setting term is a placeholder, a delete request is a no-op. if ( $is_placeholder ) { $this->update_status = 'deleted'; } else { $r = wp_delete_nav_menu( $this->term_id ); if ( is_wp_error( $r ) ) { $this->update_status = 'error'; $this->update_error = $r; } else { $this->update_status = 'deleted'; $auto_add = false; } } } else { // Insert or update menu. $menu_data = wp_array_slice_assoc( $value, array( 'description', 'parent' ) ); if ( isset( $value['name'] ) ) { $menu_data['menu-name'] = $value['name']; } $r = wp_update_nav_menu_object( $is_placeholder ? 0 : $this->term_id, $menu_data ); if ( is_wp_error( $r ) ) { $this->update_status = 'error'; $this->update_error = $r; } else { if ( $is_placeholder ) { $this->previous_term_id = $this->term_id; $this->term_id = $r; $this->update_status = 'inserted'; } else { $this->update_status = 'updated'; } $auto_add = $value['auto_add']; } } if ( null !== $auto_add ) { $nav_menu_options = $this->filter_nav_menu_options_value( (array) get_option( 'nav_menu_options', array() ), $this->term_id, $auto_add ); update_option( 'nav_menu_options', $nav_menu_options ); } // Make sure that new menus assigned to nav menu locations use their new IDs. if ( 'inserted' === $this->update_status ) { foreach ( $this->manager->settings() as $setting ) { if ( ! preg_match( '/^nav_menu_locations\[/', $setting->id ) ) { continue; } $post_value = $setting->post_value( null ); if ( ! is_null( $post_value ) && $this->previous_term_id === intval( $post_value ) ) { $this->manager->set_post_value( $setting->id, $this->term_id ); $setting->save(); } } } }
public function remove_item($item) { $remove_success = false; switch ($item->type) { case 'nav_menu': $remove_success = !is_wp_error(wp_delete_nav_menu($item->id)); break; case 'nav_menu_item': // should be picked up by remove nav menu ^ $remove_success = true; break; case 'attachment': $remove_success = wp_delete_attachment($item->id, true) !== false; break; case 'revslider': if (class_exists('RevSlider')) { $revslider = new RevSlider(); $data = array('sliderid' => $item->id); try { $remove_success = $revslider->deleteSliderFromData($data); } catch (Exception $e) { $remove_success = false; } } break; case 'widget': // remove widget from sidebar $sidebars_widgets = get_option('sidebars_widgets'); if (isset($sidebars_widgets[$item->id['widget_area']])) { foreach ($sidebars_widgets[$item->id['widget_area']] as $count => $widget_id) { if ($widget_id === $item->id['widget_id']) { unset($sidebars_widgets[$item->id['widget_area']][$count]); } } } update_option('sidebars_widgets', $sidebars_widgets); // remove widget $widget_options = get_option('widget_' . $item->id['type']); unset($widget_options[$item->id['count']]); update_option('widget_' . $item->id['type'], $widget_options); $remove_success = true; break; default: $remove_success = wp_delete_post($item->id, true) !== false; break; } return $remove_success; }
/** * Destroy auto menu object (currently not used). * * @since 1.0.0 */ public function destroy_auto_menu() { // Generate menu title. $menu_name = $this->plugin->get('menu_name'); // Create new menu if it doesn't already exist. $menu_exists = wp_get_nav_menu_object($menu_name); if ($menu_exists) { wp_delete_nav_menu($menu_name); } }
} } } break; case 'delete-menu-item': $menu_item_id = (int) $_REQUEST['menu-item']; check_admin_referer('delete-menu_item_' . $menu_item_id); if (is_nav_menu_item($menu_item_id) && wp_delete_post($menu_item_id, true)) { $messages[] = '<div id="message" class="updated"><p>' . __('The menu item has been successfully deleted.') . '</p></div>'; } break; case 'delete': check_admin_referer('delete-nav_menu-' . $nav_menu_selected_id); if (is_nav_menu($nav_menu_selected_id)) { $deleted_nav_menu = wp_get_nav_menu_object($nav_menu_selected_id); $delete_nav_menu = wp_delete_nav_menu($nav_menu_selected_id); if (is_wp_error($delete_nav_menu)) { $messages[] = '<div id="message" class="error"><p>' . $delete_nav_menu->get_error_message() . '</p></div>'; } else { // Remove this menu from any locations. $locations = get_theme_mod('nav_menu_locations'); foreach ((array) $locations as $location => $menu_id) { if ($menu_id == $nav_menu_selected_id) { $locations[$location] = 0; } } set_theme_mod('nav_menu_locations', $locations); $messages[] = '<div id="message" class="updated"><p>' . __('The menu has been successfully deleted.') . '</p></div>'; // Select the next available menu $nav_menu_selected_id = 0; $_nav_menus = wp_get_nav_menus(array('orderby' => 'name'));
function theme_content_start_import() { check_ajax_referer('theme_content_importer'); if ($sample_data = get_option('theme_sample_data')) { foreach ($sample_data['posts'] as $post_id) { wp_delete_post($post_id, true); } foreach ($sample_data['pages'] as $page_id) { wp_delete_post($page_id, true); } foreach ($sample_data['widgets'] as $widget_id) { theme_delete_widget($widget_id, true); } foreach ($sample_data['menu'] as $menu_id) { wp_delete_nav_menu($menu_id); } } $theme_content_importer = new Theme_Content_Import(); $theme_content_importer->go(); update_option('theme_content_import', true); die; }
if (x_demo_content_blog_page()) { update_option('page_for_posts', x_demo_content_blog_page()); } } x_demo_content_set_stage_completed('set-page-options'); } // Create Menu // ============================================================================= if (x_demo_content_stage_not_completed('create-menu')) { // // Check if the menu exists and delete it if it does. // $menu_name = 'X Demo Menu'; $menu_exists = wp_get_nav_menu_object($menu_name); if ($menu_exists) { wp_delete_nav_menu($menu_name); } // // Create a new demo menu. // $new_menu_id = wp_create_nav_menu($menu_name); x_demo_content_create_nav_menu($new_menu_id, $front_page_is_page, $front_page_is_blog, $front_page_is_portfolio, $include_posts, $include_portfolio_items); // // Assign new menu to all available locations. // $menu_locations = get_theme_mod('nav_menu_locations'); $menu_locations['primary'] = $new_menu_id; $menu_locations['footer'] = $new_menu_id; set_theme_mod('nav_menu_locations', $menu_locations); x_demo_content_set_stage_completed('create-menu'); }
function kt_remove_menu() { global $menus_id; if (is_array($menus_id) && count($menus_id) > 0) { foreach ($menus_id as $menu) { wp_delete_nav_menu($menu); } delete_option('kt_demo_menus'); $menus_id = array(); } }
function jeg_prepare_import() { // prevent double menu $termarray = array(); $termarray[0] = get_term_by('name', 'Bottom Menu', 'nav_menu'); $termarray[1] = get_term_by('name', 'Main Menu', 'nav_menu'); foreach ($termarray as $term) { if (is_object($term)) { wp_delete_nav_menu($term->term_id); } } }
/** * Create/update the nav_menu term for this setting. * * Any created menus will have their assigned term IDs exported to the client * via the customize_save_response filter. Likewise, any errors will be exported * to the client via the customize_save_response() filter. * * To delete a menu, the client can send false as the value. * * @since 4.3.0 * @access protected * * @see wp_update_nav_menu_object() * * @param array|false $value { * The value to update. Note that slug cannot be updated via wp_update_nav_menu_object(). * If false, then the menu will be deleted entirely. * * @type string $name The name of the menu to save. * @type string $description The term description. Default empty string. * @type int $parent The id of the parent term. Default 0. * @type bool $auto_add Whether pages will auto_add to this menu. Default false. * } * @return null|void */ protected function update($value) { if ($this->is_updated) { return; } $this->is_updated = true; $is_placeholder = $this->term_id < 0; $is_delete = false === $value; add_filter('customize_save_response', array($this, 'amend_customize_save_response')); $auto_add = null; if ($is_delete) { // If the current setting term is a placeholder, a delete request is a no-op. if ($is_placeholder) { $this->update_status = 'deleted'; } else { $r = wp_delete_nav_menu($this->term_id); if (is_wp_error($r)) { $this->update_status = 'error'; $this->update_error = $r; } else { $this->update_status = 'deleted'; $auto_add = false; } } } else { // Insert or update menu. $menu_data = wp_array_slice_assoc($value, array('description', 'parent')); $menu_data['menu-name'] = $value['name']; $menu_id = $is_placeholder ? 0 : $this->term_id; $r = wp_update_nav_menu_object($menu_id, wp_slash($menu_data)); $original_name = $menu_data['menu-name']; $name_conflict_suffix = 1; while (is_wp_error($r) && 'menu_exists' === $r->get_error_code()) { $name_conflict_suffix += 1; /* translators: 1: original menu name, 2: duplicate count */ $menu_data['menu-name'] = sprintf(__('%1$s (%2$d)'), $original_name, $name_conflict_suffix); $r = wp_update_nav_menu_object($menu_id, wp_slash($menu_data)); } if (is_wp_error($r)) { $this->update_status = 'error'; $this->update_error = $r; } else { if ($is_placeholder) { $this->previous_term_id = $this->term_id; $this->term_id = $r; $this->update_status = 'inserted'; } else { $this->update_status = 'updated'; } $auto_add = $value['auto_add']; } } if (null !== $auto_add) { $nav_menu_options = $this->filter_nav_menu_options_value((array) get_option('nav_menu_options', array()), $this->term_id, $auto_add); update_option('nav_menu_options', $nav_menu_options); } if ('inserted' === $this->update_status) { // Make sure that new menus assigned to nav menu locations use their new IDs. foreach ($this->manager->settings() as $setting) { if (!preg_match('/^nav_menu_locations\\[/', $setting->id)) { continue; } $post_value = $setting->post_value(null); if (!is_null($post_value) && $this->previous_term_id === intval($post_value)) { $this->manager->set_post_value($setting->id, $this->term_id); $setting->save(); } } // Make sure that any nav_menu widgets referencing the placeholder nav menu get updated and sent back to client. foreach (array_keys($this->manager->unsanitized_post_values()) as $setting_id) { $nav_menu_widget_setting = $this->manager->get_setting($setting_id); if (!$nav_menu_widget_setting || !preg_match('/^widget_nav_menu\\[/', $nav_menu_widget_setting->id)) { continue; } $widget_instance = $nav_menu_widget_setting->post_value(); // Note that this calls WP_Customize_Widgets::sanitize_widget_instance(). if (empty($widget_instance['nav_menu']) || intval($widget_instance['nav_menu']) !== $this->previous_term_id) { continue; } $widget_instance['nav_menu'] = $this->term_id; $updated_widget_instance = $this->manager->widgets->sanitize_widget_js_instance($widget_instance); $this->manager->set_post_value($nav_menu_widget_setting->id, $updated_widget_instance); $nav_menu_widget_setting->save(); $this->_widget_nav_menu_updates[$nav_menu_widget_setting->id] = $updated_widget_instance; } } }
protected function create_nav_menu() { if (!function_exists('wp_create_nav_menu')) { require_once ABSPATH . 'wp-admin/includes/nav-menu.php'; } $nav_menu_locations = array(); foreach (wpsw_get_config('register.nav_menus') as $menu_key => $menu_name) { wp_delete_nav_menu($menu_name); $items = array_get($this->menus, $menu_key, array()); $menu_items = array(); foreach ($items as $key => $item) { $data = array(); $data['menu-item-title'] = $item['title']; $data['menu-item-position'] = $key + 1; if (isset($item['class'])) { $data['menu-item-classes'] = explode(' ', $item['class']); } if (isset($item['link'])) { $src = preg_replace('/\\.html$/i', '.md', $item['link']); $id = wpsw_get_alias_id($src); $post = get_post($id); if ($post) { $data['menu-item-type'] = 'post_type'; $data['menu-item-object'] = $post->post_type; $data['menu-item-object-id'] = $id; } else { $data['menu-item-url'] = $item['link']; } } $menu_item = $this->perpare_nav_item_data($data); $menu_item_db_id = $this->add_nav_menu_item($menu_name, $menu_item); pc($menu_item_db_id, 'menu_item_db_id'); foreach (array_get($item, 'sub_menu', array()) as $index => $sub_item) { $data = array(); $data['menu-item-title'] = $sub_item['title']; $data['menu-item-position'] = $index + 1; $data['menu-item-parent-id'] = $menu_item_db_id; if (isset($sub_item['class'])) { $data['menu-item-classes'] = explode(' ', $sub_item['class']); } if (isset($sub_item['link'])) { $src = preg_replace('/\\.html$/i', '.md', $sub_item['link']); $id = wpsw_get_alias_id($src); $post = get_post($id); if ($post) { $data['menu-item-type'] = 'post_type'; $data['menu-item-object'] = $post->post_type; $data['menu-item-object-id'] = $id; } else { $data['menu-item-url'] = $sub_item['link']; } } $sub_menu_item = $this->perpare_nav_item_data($data); $sub_menu_item_db_id = $this->add_nav_menu_item($menu_name, $sub_menu_item); } } // items loop $menu = wp_get_nav_menu_object($menu_name); $nav_menu_locations[$menu_key] = $menu->term_id; } // register.nav_menus loop $theme_mods = array(false, 'nav_menu_locations' => $nav_menu_locations); $theme = get_option('stylesheet'); if (get_option("theme_mods_{$theme}")) { update_option("theme_mods_{$theme}", $theme_mods); } else { add_option("theme_mods_{$theme}", $theme_mods); } }
public function recreate_default_navigation_menu() { $menu_name = 'cuar_main_menu'; $menu = null; $locations = get_nav_menu_locations(); if (isset($locations[$menu_name]) && $locations[$menu_name] > 0) { $menu = wp_get_nav_menu_object($locations[$menu_name]); if ($menu != false) { $menu_items = wp_get_nav_menu_items($menu->term_id); // Delete existing menu items foreach ($menu_items as $item) { wp_delete_post($item->ID, true); } } } // Create new menu if not existing already if ($menu == null) { wp_delete_nav_menu(_x('wp-customer-area-menu', 'Localised slug for the main navigation menu (small caps version of the "WP Customer Area Menu" translation)', 'cuar')); $menu = wp_create_nav_menu(__('WP Customer Area Menu', 'cuar')); } if (is_wp_error($menu)) { $this->plugin->add_admin_notice(sprintf(__('Could not create the menu. %s', 'cuar'), $menu->get_error_message())); return; } else { $menu = wp_get_nav_menu_object($menu); } // Place the menu at the right location $locations[$menu_name] = $menu->term_id; set_theme_mod('nav_menu_locations', $locations); // Now add all default menu items $pages = $this->get_customer_area_pages(); $menu_items = array(); foreach ($pages as $slug => $page) { // Ignore home on purpose if ($slug == 'customer-home') { continue; } // Exclude pages that are made to be seen when not logged-in $exclude = false; if ($page->hide_if_logged_in() || $page->hide_in_menu()) { $exclude = true; } if ($page->always_include_in_menu()) { $exclude = false; } if ($exclude) { continue; } $args = array('menu-item-object-id' => $page->get_page_id(), 'menu-item-object' => 'page', 'menu-item-type' => 'post_type', 'menu-item-status' => 'publish'); // Find parent if any $parent_slug = $page->get_parent_slug(); if (!empty($parent_slug) && isset($menu_items[$parent_slug])) { $args['menu-item-parent-id'] = $menu_items[$parent_slug]; } $item_id = wp_update_nav_menu_item($menu->term_id, 0, $args); if (!is_wp_error($item_id)) { // Remember the slug for parent ownership $menu_items[$slug] = $item_id; } } $this->plugin->clear_attention_needed('nav-menu-needs-sync'); $this->plugin->add_admin_notice(sprintf(__('The menu has been created: <a href="%s">view menu</a>', 'cuar'), admin_url('nav-menus.php?menu=') . $menu->term_id), 'updated'); }
public function importMenu($menu) { wp_delete_nav_menu($menu['menu-name']); $newMenu = wp_update_nav_menu_object(0, $menu); if (is_wp_error($newTerm)) { return $newTerm; } $this->registry->set('term', $menu['id'], (int) $newMenu); foreach ($menu['items'] as $menuItem) { $existing = $this->registry->get('post', $menuItem['id']); if (is_nav_menu_item($existing)) { wp_delete_post($existing, true); } if ('taxonomy' == $menuItem['menu-item-type']) { $menuItem['menu-item-object-id'] = $this->registry->get('term', $menuItem['menu-item-object-id']); } elseif ('post_type' == $menuItem['menu-item-type']) { $menuItem['menu-item-object-id'] = $this->registry->get('post', $menuItem['menu-item-object-id']); } if (0 != (int) $menuItem['menu-item-parent-id']) { $menuItem['menu-item-parent-id'] = $this->registry->get('post', $menuItem['menu-item-parent-id']); if (is_null($menuItem['menu-item-parent-id'])) { continue; } } $newMenuItem = wp_update_nav_menu_item($newMenu, 0, $menuItem); if (is_wp_error($newMenuItem)) { return $newMenuItem; } $this->registry->set('post', $menuItem['id'], (int) $newMenuItem); } $this->message = sprintf(__('Creating menus...', '__x__'), $menu['menu-name']); return true; }
/** * This function removes all alternative menus. Useful when cleaning and * deactivating the plugin. */ public static function clean_all_alternative_menus() { $aux = self::get_instance(); $aux->begin(); $alt_menus = array(); foreach ($aux->menus_in_exps as $menu => $exp) { wp_delete_nav_menu($menu); } $aux->rollback(); }
/** * Delete menu when agency is deleted. */ public function delete_agency_menu($post_id) { $menu = get_post_meta($post_id, 'post_menu'); wp_delete_nav_menu($menu); }
private function remove_menu($params) { $inserted_install = get_theme_mod('exclusive_install_posts', ''); if (isset($inserted_install[$params['spec_id']])) { $sucsses = wp_delete_nav_menu($inserted_install[$params['spec_id']]); if ($sucsses) { foreach ($params['menu_item'] as $menu_item) { if (isset($inserted_install[$menu_item])) { unset($inserted_install[$menu_item]); } } unset($inserted_install[$params['spec_id']]); set_theme_mod('exclusive_install_posts', $inserted_install); return 1; } else { if (wp_get_nav_menu_items($inserted_install[$params['spec_id']])) { return '<div class="error_text">Error Remove</div>'; } else { unset($inserted_install[$params['spec_id']]); foreach ($params['menu_item'] as $menu_item) { if (isset($inserted_install[$menu_item])) { unset($inserted_install[$menu_item]); } } set_theme_mod('exclusive_install_posts', $inserted_install); return '<div class="notification_text">Not Found</div>'; } } } else { return '<div class="notification_text">Not Found</div>'; } }
function sas_deactivation() { $menu_name = 'Sign Up/Sign In/Sign Out'; $menu_exists = wp_get_nav_menu_object($menu_name); wp_delete_nav_menu($menu_name); $page_definitions = array('sas-login' => array('title' => __('Sign In', 'simple-account-system'), 'content' => '[sas-login-form]'), 'sas-password-lost' => array('title' => __('Forgot Your Password?', 'simple-account-system'), 'content' => '[sas-password-lost-form]'), 'sas-password-reset' => array('title' => __('Pick a New Password', 'simple-account-system'), 'content' => '[sas-password-reset-form]'), 'sas-register' => array('title' => __('Sign Up', 'simple-account-system'), 'content' => '[sas-register-form]'), 'sas-account' => array('title' => __('Your Account', 'simple-account-system'), 'content' => '[sas-user-profile-form]')); foreach ($page_definitions as $slug => $page) { // Check that the page doesn't exist already $query = new WP_Query('pagename=' . $slug); if ($query->have_posts()) { while ($query->have_posts()) { $query->the_post(); wp_delete_post(get_the_ID(), true); } } } // Clear the permalinks to remove our post type's rules flush_rewrite_rules(); }
function hb_importer() { global $wpdb; if (current_user_can('manage_options') && isset($_GET['import_content_data'])) { if (!defined('WP_LOAD_IMPORTERS')) { define('WP_LOAD_IMPORTERS', true); } // we are loading importers if (!class_exists('WP_Importer')) { // if main importer class doesn't exist $wp_importer = ABSPATH . 'wp-admin/includes/class-wp-importer.php'; include $wp_importer; } if (!class_exists('WP_Import')) { // if WP importer doesn't exist $wp_import = get_template_directory() . '/includes/plugins/importer/wordpress-importer.php'; include $wp_import; } if (class_exists('WP_Importer') && class_exists('WP_Import')) { // check for main import class and wp import class $importer = new WP_Import(); $hb_import_attachments = true; if (isset($_GET['light_import']) && $_GET['light_import'] == 'yes') { $hb_import_attachments = false; } /* Delete menus to prevent menu duplication */ wp_delete_nav_menu('Main Menu'); wp_delete_nav_menu('Footer Menu'); wp_delete_nav_menu('One Page Menu'); wp_delete_nav_menu('Shortcodes Menu'); wp_delete_nav_menu('Sidebar Navigation1'); /* First Import Posts, Pages, Portfolio Content, FAQ, Images, Menus */ $theme_xml = get_template_directory() . '/includes/plugins/importer/data/highend.xml.gz'; $importer->fetch_attachments = $hb_import_attachments; ob_start(); $importer->import($theme_xml); ob_end_clean(); /* Import Woocommerce if WooCommerce Exists if( class_exists('Woocommerce') ) { $importer = new WP_Import(); $theme_xml = get_template_directory() . '/includes/plugins/importer/data/wooproducts.xml.gz'; $importer->fetch_attachments = true; ob_start(); $importer->import($theme_xml); ob_end_clean(); // Set pages $woopages = array( 'woocommerce_shop_page_id' => 'Shop', 'woocommerce_cart_page_id' => 'Cart', 'woocommerce_checkout_page_id' => 'Checkout', 'woocommerce_pay_page_id' => 'Checkout → Pay', 'woocommerce_thanks_page_id' => 'Order Received', 'woocommerce_myaccount_page_id' => 'My Account', 'woocommerce_edit_address_page_id' => 'Edit My Address', 'woocommerce_view_order_page_id' => 'View Order', 'woocommerce_change_password_page_id' => 'Change Password', 'woocommerce_logout_page_id' => 'Logout', 'woocommerce_lost_password_page_id' => 'Lost Password' ); foreach($woopages as $woo_page_name => $woo_page_title) { $woopage = get_page_by_title( $woo_page_title ); if($woopage->ID) { update_option($woo_page_name, $woopage->ID); // Front Page } } // We no longer need to install pages delete_option( '_wc_needs_pages' ); delete_transient( '_wc_activation_redirect' ); // Flush rules after install flush_rewrite_rules(); } */ // Set imported menus to registered theme locations $locations = get_theme_mod('nav_menu_locations'); // registered menu locations in theme $menus = wp_get_nav_menus(); // registered menus if ($menus) { foreach ($menus as $menu) { // assign menus to theme locations if ($menu->name == 'Main Menu') { $locations['main-menu'] = $menu->term_id; $locations['mobile-menu'] = $menu->term_id; } else { if ($menu->name == 'Footer Menu') { $locations['footer-menu'] = $menu->term_id; } else { if ($menu->name == 'One Page Menu') { $locations['one-page-menu'] = $menu->term_id; } } } } } set_theme_mod('nav_menu_locations', $locations); // set menus to locations // Set reading options $homepage = get_page_by_title('Home'); if ($homepage != null && $homepage->ID) { update_option('show_on_front', 'page'); update_option('page_on_front', $homepage->ID); // Front Page } if (class_exists('Woocommerce')) { // Add sidebar widget areas $sidebars = array('ShopWidget1' => 'Show Widget 1', 'ShopWidget2' => 'Show Widget 2', 'ShopWidget3' => 'Show Widget 3', 'ShopWidget4' => 'Show Widget 4', 'DefaultPageSidebar' => 'Default Page Sidebar', 'SidebarNavigation1' => 'Sidebar Navigation 1', 'PortfolioSingleSidebar' => 'Portfolio Single Sidebar', 'ShortcodesSidebar' => 'Shortcodes Sidebar', 'ShopSidebar' => 'Shop Sidebar'); } else { // Add sidebar widget areas $sidebars = array('DefaultPageSidebar' => 'Default Page Sidebar', 'SidebarNavigation1' => 'Sidebar Navigation 1', 'PortfolioSingleSidebar' => 'Portfolio Single Sidebar', 'ShortcodesSidebar' => 'Shortcodes Sidebar'); } update_option('sbg_sidebars', $sidebars); foreach ($sidebars as $sidebar) { $sidebar_class = hb_name_to_class($sidebar); register_sidebar(array('name' => $sidebar, 'id' => 'hb-custom-sidebar-' . strtolower($sidebar_class), 'before_widget' => '<div id="%1$s" class="widget-item %2$s">', 'after_widget' => '</div>', 'before_title' => '<h4>', 'after_title' => '</h4>')); } // Add data to widgets $widgets_json = get_template_directory_uri() . '/includes/plugins/importer/data/widgets.json'; // widgets data file $widgets_json = wp_remote_get($widgets_json); $widget_data = $widgets_json['body']; $import_widgets = hb_import_widget_data($widget_data); /* Import Layerslider if( function_exists( 'layerslider_import_sample_slider' ) && $hb_import_attachments == true ) { // if layerslider is activated // Get importUtil include WP_PLUGIN_DIR . '/LayerSlider/classes/class.ls.importutil.php'; $layer_directory = get_template_directory() . '/includes/plugins/importer/data/layersliders/'; // layerslider data dir foreach( glob( $layer_directory . '*.zip' ) as $filename ) { // get all files from revsliders data dir $filename = basename($filename); $layer_files[] = get_template_directory() . '/includes/plugins/importer/data/layersliders/' . $filename ; } foreach( $layer_files as $layer_file ) { // finally import layer slider $import = new LS_ImportUtil($layer_file); } // Get all sliders // Table name $table_name = $wpdb->prefix . "layerslider"; // Get sliders $sliders = $wpdb->get_results( "SELECT * FROM $table_name WHERE flag_hidden = '0' AND flag_deleted = '0' ORDER BY date_c ASC" ); if(!empty($sliders)): foreach($sliders as $key => $item): $slides[$item->id] = $item->name; endforeach; endif; if($slides){ foreach($slides as $key => $val){ $slides_array[$val] = $key; } } }*/ // Import Revslider if (class_exists('UniteFunctionsRev') && $hb_import_attachments == true) { // if revslider is activated // Download Rev Sliders imports to local $url = get_template_directory() . '/includes/plugins/importer/data/revsliders/jobs-slider.zip'; if (!file_exists($url)) { $d_url = 'http://hb-themes.com/repository/import/highend/revsliders/jobs-slider.zip'; $src = fopen($d_url, 'r'); $dest = fopen($url, 'w'); stream_copy_to_stream($src, $dest); fclose($d_url); fclose($url); } $url = get_template_directory() . '/includes/plugins/importer/data/revsliders/boxed-corporate-slider.zip'; if (!file_exists($url)) { $d_url = 'http://hb-themes.com/repository/import/highend/revsliders/boxed-corporate-slider.zip'; $src = fopen($d_url, 'r'); $dest = fopen($url, 'w'); stream_copy_to_stream($src, $dest); fclose($d_url); fclose($url); } $url = get_template_directory() . '/includes/plugins/importer/data/revsliders/corporate-slider.zip'; if (!file_exists($url)) { $d_url = 'http://hb-themes.com/repository/import/highend/revsliders/corporate-slider.zip'; $src = fopen($d_url, 'r'); $dest = fopen($url, 'w'); stream_copy_to_stream($src, $dest); fclose($d_url); fclose($url); } $url = get_template_directory() . '/includes/plugins/importer/data/revsliders/home-classic-slider.zip'; if (!file_exists($url)) { $d_url = 'http://hb-themes.com/repository/import/highend/revsliders/home-classic-slider.zip'; $src = fopen($d_url, 'r'); $dest = fopen($url, 'w'); stream_copy_to_stream($src, $dest); fclose($d_url); fclose($url); } $url = get_template_directory() . '/includes/plugins/importer/data/revsliders/home-default-slider.zip'; if (!file_exists($url)) { $d_url = 'http://hb-themes.com/repository/import/highend/revsliders/home-default-slider.zip'; $src = fopen($d_url, 'r'); $dest = fopen($url, 'w'); stream_copy_to_stream($src, $dest); fclose($d_url); fclose($url); } $url = get_template_directory() . '/includes/plugins/importer/data/revsliders/home-special-slider.zip'; if (!file_exists($url)) { $d_url = 'http://hb-themes.com/repository/import/highend/revsliders/home-special-slider.zip'; $src = fopen($d_url, 'r'); $dest = fopen($url, 'w'); stream_copy_to_stream($src, $dest); fclose($d_url); fclose($url); } $url = get_template_directory() . '/includes/plugins/importer/data/revsliders/one-page-slider.zip'; if (!file_exists($url)) { $d_url = 'http://hb-themes.com/repository/import/highend/revsliders/one-page-slider.zip'; $src = fopen($d_url, 'r'); $dest = fopen($url, 'w'); stream_copy_to_stream($src, $dest); fclose($d_url); fclose($url); } $url = get_template_directory() . '/includes/plugins/importer/data/revsliders/shop-slider.zip'; if (!file_exists($url)) { $d_url = 'http://hb-themes.com/repository/import/highend/revsliders/shop-slider.zip'; $src = fopen($d_url, 'r'); $dest = fopen($url, 'w'); stream_copy_to_stream($src, $dest); fclose($d_url); fclose($url); } // END REV SLIDER IMPORTS $rev_directory = get_template_directory() . '/includes/plugins/importer/data/revsliders/'; // layerslider data dir foreach (glob($rev_directory . '*.zip') as $filename) { // get all files from revsliders data dir $filename = basename($filename); $rev_files[] = get_template_directory() . '/includes/plugins/importer/data/revsliders/' . $filename; } foreach ($rev_files as $rev_file) { // finally import rev slider data files $filepath = $rev_file; //if(file_exists($filepath) == false) //UniteFunctionsRev::throwError("Import file not found!!!"); //check if zip file or fallback to old, if zip, check if all files exist $zip = new ZipArchive(); $importZip = $zip->open($filepath, ZIPARCHIVE::CREATE); if ($importZip === true) { //true or integer. If integer, its not a correct zip file //check if files all exist in zip $slider_export = $zip->getStream('slider_export.txt'); $custom_animations = $zip->getStream('custom_animations.txt'); $dynamic_captions = $zip->getStream('dynamic-captions.css'); $static_captions = $zip->getStream('static-captions.css'); //if(!$slider_export) UniteFunctionsRev::throwError("slider_export.txt does not exist!"); //if(!$custom_animations) UniteFunctionsRev::throwError("custom_animations.txt does not exist!"); //if(!$dynamic_captions) UniteFunctionsRev::throwError("dynamic-captions.css does not exist!"); //if(!$static_captions) UniteFunctionsRev::throwError("static-captions.css does not exist!"); $content = ''; $animations = ''; $dynamic = ''; $static = ''; while (!feof($slider_export)) { $content .= fread($slider_export, 1024); } if ($custom_animations) { while (!feof($custom_animations)) { $animations .= fread($custom_animations, 1024); } } if ($dynamic_captions) { while (!feof($dynamic_captions)) { $dynamic .= fread($dynamic_captions, 1024); } } if ($static_captions) { while (!feof($static_captions)) { $static .= fread($static_captions, 1024); } } fclose($slider_export); if ($custom_animations) { fclose($custom_animations); } if ($dynamic_captions) { fclose($dynamic_captions); } if ($static_captions) { fclose($static_captions); } //check for images! } else { //check if fallback //get content array $content = @file_get_contents($filepath); } if ($importZip === true) { //we have a zip $db = new UniteDBRev(); //update/insert custom animations $animations = @unserialize($animations); if (!empty($animations)) { foreach ($animations as $key => $animation) { //$animation['id'], $animation['handle'], $animation['params'] $exist = $db->fetch(GlobalsRevSlider::$table_layer_anims, "handle = '" . $animation['handle'] . "'"); if (!empty($exist)) { //update the animation, get the ID if ($updateAnim == "true") { //overwrite animation if exists $arrUpdate = array(); $arrUpdate['params'] = stripslashes(json_encode(str_replace("'", '"', $animation['params']))); $db->update(GlobalsRevSlider::$table_layer_anims, $arrUpdate, array('handle' => $animation['handle'])); $id = $exist['0']['id']; } else { //insert with new handle $arrInsert = array(); $arrInsert["handle"] = 'copy_' . $animation['handle']; $arrInsert["params"] = stripslashes(json_encode(str_replace("'", '"', $animation['params']))); $id = $db->insert(GlobalsRevSlider::$table_layer_anims, $arrInsert); } } else { //insert the animation, get the ID $arrInsert = array(); $arrInsert["handle"] = $animation['handle']; $arrInsert["params"] = stripslashes(json_encode(str_replace("'", '"', $animation['params']))); $id = $db->insert(GlobalsRevSlider::$table_layer_anims, $arrInsert); } //and set the current customin-oldID and customout-oldID in slider params to new ID from $id $content = str_replace(array('customin-' . $animation['id'], 'customout-' . $animation['id']), array('customin-' . $id, 'customout-' . $id), $content); } //dmp(__("animations imported!",REVSLIDER_TEXTDOMAIN)); } else { //dmp(__("no custom animations found, if slider uses custom animations, the provided export may be broken...",REVSLIDER_TEXTDOMAIN)); } //overwrite/append static-captions.css if (!empty($static)) { if ($updateStatic == "true") { //overwrite file RevOperations::updateStaticCss($static); } else { //append $static_cur = RevOperations::getStaticCss(); $static = $static_cur . "\n" . $static; RevOperations::updateStaticCss($static); } } //overwrite/create dynamic-captions.css //parse css to classes $dynamicCss = UniteCssParserRev::parseCssToArray($dynamic); if (is_array($dynamicCss) && $dynamicCss !== false && count($dynamicCss) > 0) { foreach ($dynamicCss as $class => $styles) { //check if static style or dynamic style $class = trim($class); if (strpos($class, ':hover') === false && strpos($class, ':') !== false || strpos($class, " ") !== false || strpos($class, ".tp-caption") === false || (strpos($class, ".") === false || strpos($class, "#") !== false) || strpos($class, ">") !== false) { //.tp-caption>.imageclass or .tp-caption.imageclass>img or .tp-caption.imageclass .img continue; } //is a dynamic style if (strpos($class, ':hover') !== false) { $class = trim(str_replace(':hover', '', $class)); $arrInsert = array(); $arrInsert["hover"] = json_encode($styles); $arrInsert["settings"] = json_encode(array('hover' => 'true')); } else { $arrInsert = array(); $arrInsert["params"] = json_encode($styles); } //check if class exists $result = $db->fetch(GlobalsRevSlider::$table_css, "handle = '" . $class . "'"); if (!empty($result)) { //update $db->update(GlobalsRevSlider::$table_css, $arrInsert, array('handle' => $class)); } else { //insert $arrInsert["handle"] = $class; $db->insert(GlobalsRevSlider::$table_css, $arrInsert); } } //dmp(__("dynamic styles imported!",REVSLIDER_TEXTDOMAIN)); } else { //dmp(__("no dynamic styles found, if slider uses dynamic styles, the provided export may be broken...",REVSLIDER_TEXTDOMAIN)); } } $content = preg_replace('!s:(\\d+):"(.*?)";!e', "'s:'.strlen('\$2').':\"\$2\";'", $content); //clear errors in string $arrSlider = @unserialize($content); $sliderParams = $arrSlider["params"]; if (isset($sliderParams["background_image"])) { $sliderParams["background_image"] = UniteFunctionsWPRev::getImageUrlFromPath($sliderParams["background_image"]); } $json_params = json_encode($sliderParams); //new slider $arrInsert = array(); $arrInsert["params"] = $json_params; $arrInsert["title"] = UniteFunctionsRev::getVal($sliderParams, "title", "Slider1"); $arrInsert["alias"] = UniteFunctionsRev::getVal($sliderParams, "alias", "slider1"); $sliderID = $wpdb->insert(GlobalsRevSlider::$table_sliders, $arrInsert); $sliderID = $wpdb->insert_id; //-------- Slides Handle ----------- //create all slides $arrSlides = $arrSlider["slides"]; $alreadyImported = array(); foreach ($arrSlides as $slide) { $params = $slide["params"]; $layers = $slide["layers"]; //convert params images: if (isset($params["image"])) { //import if exists in zip folder if (trim($params["image"]) !== '') { if ($importZip === true) { //we have a zip, check if exists $image = $zip->getStream('images/' . $params["image"]); if (!$image) { echo $params["image"] . ' not found!<br>'; } else { if (!isset($alreadyImported['zip://' . $filepath . "#" . 'images/' . $params["image"]])) { $importImage = UniteFunctionsWPRev::import_media('zip://' . $filepath . "#" . 'images/' . $params["image"], $sliderParams["alias"] . '/'); if ($importImage !== false) { $alreadyImported['zip://' . $filepath . "#" . 'images/' . $params["image"]] = $importImage['path']; $params["image"] = $importImage['path']; } } else { $params["image"] = $alreadyImported['zip://' . $filepath . "#" . 'images/' . $params["image"]]; } } } } $params["image"] = UniteFunctionsWPRev::getImageUrlFromPath($params["image"]); } //convert layers images: foreach ($layers as $key => $layer) { if (isset($layer["image_url"])) { //import if exists in zip folder if (trim($layer["image_url"]) !== '') { if ($importZip === true) { //we have a zip, check if exists $image_url = $zip->getStream('images/' . $layer["image_url"]); if (!$image_url) { echo $layer["image_url"] . ' not found!<br>'; } else { if (!isset($alreadyImported['zip://' . $filepath . "#" . 'images/' . $layer["image_url"]])) { $importImage = UniteFunctionsWPRev::import_media('zip://' . $filepath . "#" . 'images/' . $layer["image_url"], $sliderParams["alias"] . '/'); if ($importImage !== false) { $alreadyImported['zip://' . $filepath . "#" . 'images/' . $layer["image_url"]] = $importImage['path']; $layer["image_url"] = $importImage['path']; } } else { $layer["image_url"] = $alreadyImported['zip://' . $filepath . "#" . 'images/' . $layer["image_url"]]; } } } } $layer["image_url"] = UniteFunctionsWPRev::getImageUrlFromPath($layer["image_url"]); $layers[$key] = $layer; } } //create new slide $arrCreate = array(); $arrCreate["slider_id"] = $sliderID; $arrCreate["slide_order"] = $slide["slide_order"]; $arrCreate["layers"] = json_encode($layers); $arrCreate["params"] = json_encode($params); $wpdb->insert(GlobalsRevSlider::$table_slides, $arrCreate); //} } } } // finally redirect to success page wp_redirect(admin_url('themes.php?page=highend_options&imported=success#_hb_general_settings')); } } }
public function updateMenu($menuData) { $menu = wp_get_nav_menu_object($menuData['name']); if ($menu !== false) { return; wp_delete_nav_menu($menuData['name']); } $menuId = wp_create_nav_menu($menuData['name']); $menu = wp_get_nav_menu_object($menuData['name']); $position = 1; foreach ($menuData['items'] as $menuItem) { $this->addItemToMenu($menu, $menuItem, $position); $position++; } return $menuId; }
function largo_transition_nav_menus() { $locations = get_nav_menu_locations(); $main_nav = wp_get_nav_menu_object('Main Navigation'); if (!$main_nav) { $main_nav_id = wp_create_nav_menu('Main Navigation'); $locations['main-nav'] = $main_nav_id; } else { $locations['main-nav'] = $main_nav->term_id; } // Get the menu items for each menu $existing_items = array(); foreach ($locations as $location => $id) { $existing_items[$location] = wp_get_nav_menu_items($id); } // These nav menu locations/menus get folded into main-nav menu $transition = array('navbar-categories', 'navbar-supplemental', 'sticky-nav'); // Move all the category, supplemental items to main-nav. // Remove category and supplemental navs. foreach ($transition as $location_slug) { if (isset($existing_items[$location_slug])) { $items = $existing_items[$location_slug]; if ($items) { foreach ($items as $idx => $item) { $meta = get_metadata('post', $item->ID); $attrs = array('menu-item-type' => $meta['_menu_item_type'][0], 'menu-item-menu-item-parent' => $meta['_menu_item_menu_item_parent'][0], 'menu-item-parent-id' => $meta['_menu_item_menu_item_parent'][0], 'menu-item-object-id' => $meta['_menu_item_object_id'][0], 'menu-item-object' => $meta['_menu_item_object'][0], 'menu-item-target' => $meta['_menu_item_target'][0], 'menu-item-classes' => $meta['_menu_item_classes'][0], 'menu-item-xfn' => $meta['_menu_item_xfn'][0], 'menu-item-url' => $meta['_menu_item_url'][0], 'menu-item-title' => $item->post_title, 'menu-item-attr-title' => $item->post_excerpt); wp_update_nav_menu_item($locations['main-nav'], $item->ID, $attrs); } } // Get rid of the menu wp_delete_nav_menu($locations[$location_slug]); unset($locations[$location_slug]); } } set_theme_mod('nav_menu_locations', $locations); }
/** * removes all the menus */ static function remove() { foreach (self::$allowed_menu_names as $menu_name) { wp_delete_nav_menu($menu_name); } }
if (!isset($deletion)) { break; } if (is_wp_error($deletion)) { $messages[] = '<div id="message" class="error"><p>' . $deletion->get_error_message() . '</p></div>'; } else { $messages[] = '<div id="message" class="updated"><p>' . __('The menu has been successfully deleted.') . '</p></div>'; } break; case 'delete_menus': check_admin_referer('nav_menus_bulk_actions'); foreach ($_REQUEST['delete_menus'] as $menu_id_to_delete) { if (!is_nav_menu($menu_id_to_delete)) { continue; } $deletion = wp_delete_nav_menu($menu_id_to_delete); if (is_wp_error($deletion)) { $messages[] = '<div id="message" class="error"><p>' . $deletion->get_error_message() . '</p></div>'; $deletion_error = true; } } if (empty($deletion_error)) { $messages[] = '<div id="message" class="updated"><p>' . __('Selected menus have been successfully deleted.') . '</p></div>'; } break; case 'update': check_admin_referer('update-nav_menu', 'update-nav-menu-nonce'); // Remove menu locations that have been unchecked foreach ($locations as $location => $description) { if ((empty($_POST['menu-locations']) || empty($_POST['menu-locations'][$location])) && isset($menu_locations[$location]) && $menu_locations[$location] == $nav_menu_selected_id) { unset($menu_locations[$location]);
protected function rollback_menus($menus) { $success = true; foreach ($menus as $menu_id => $menu) { if ($menu == 'new') { $_menu = new cfd_menu($menu_id); wp_delete_nav_menu($_menu->menu->term_id); } else { if ($this->import_menu($menu) == false) { $success = false; } } } return $success; }
function tbDummyData() { /* init */ global $wp_filesystem; if (empty($wp_filesystem)) { require_once ABSPATH . '/wp-admin/includes/file.php'; WP_Filesystem(); } define('WP_LOAD_IMPORTERS', true); /* init importer */ require_once ABSPATH . 'wp-admin/includes/import.php'; $importer_error = false; if (!class_exists('WP_Importer')) { $class_wp_importer = ABSPATH . 'wp-admin/includes/class-wp-importer.php'; if (file_exists($class_wp_importer)) { require_once $class_wp_importer; } else { $importer_error = true; } } if (!class_exists('WP_Import')) { $class_wp_import = TB_INCLUDES . 'wordpress-importer/wordpress-importer.php'; if (file_exists($class_wp_import)) { require_once $class_wp_import; } else { $importer_error = true; } } if ($importer_error) { die("Import error! Please unninstall WP importer plugin and try again"); } $wp_import = new WP_Import(); /* attachments */ $wp_import->fetch_attachments = true; /* init post query */ $theme = isset($_POST['theme']) ? $_POST['theme'] : 'tbtheme'; $current_data = isset($_POST['current_data']) ? $_POST['current_data'] : ''; /* tb used theme */ update_option('tb-theme-primary', $theme); ob_start(); /* import slider, ess grid and widget setting */ switch ($current_data) { case 'options': $options_json = get_template_directory_uri() . '/inc/dummy/' . $theme . '/options.json'; $options = $wp_filesystem->get_contents($options_json); if ($options) { tbImportThemeOptions($options); } else { die('<br />Your server don\'t have permission read options file. Theme options isn\'t imported<br />'); } break; case 'slider': if (!tbImportRevSlider($theme)) { $msg = '<br />You haven\'t install Rev Slider plugin. Slider isn\'t imported<br />'; } die($msg); break; case 'grid': if (!tbImportEssGrid($theme)) { $msg = '<br />You haven\'t install Ess Grid plugin. Ess data isn\'t imported<br />'; } die($msg); break; case 'widget': $widgets_json = get_template_directory_uri() . '/inc/dummy/' . $theme . '/widget_data.json'; $widgets = $wp_filesystem->get_contents($widgets_json); if ($widgets) { $msg = ''; tbImportWidgetSetting($widgets); } else { $msg = '<br />Your server don\'t have permission read widgets setting file. Widgets setting isn\'t imported<br />'; } die($msg); break; default: if ($current_data == 15) { if (function_exists('cptui_create_custom_post_types')) { if (file_exists(get_template_directory() . '/inc/dummy/' . $theme . '/posttypes/post.json')) { $posttypes = $wp_filesystem->get_contents(get_template_directory_uri() . '/inc/dummy/' . $theme . '/posttypes/post.json'); update_option('cptui_post_types', json_decode($posttypes, true)); } if (file_exists(get_template_directory() . '/inc/dummy/' . $theme . '/posttypes/tax.json')) { $tax = $wp_filesystem->get_contents(get_template_directory_uri() . '/inc/dummy/' . $theme . '/posttypes/tax.json'); update_option('cptui_taxonomies', json_decode($tax, true)); } flush_rewrite_rules(); } } if ($current_data == 16) { /*delete old menu and import new.*/ foreach (get_terms('nav_menu') as $nav) { wp_delete_nav_menu($nav->slug); } } if (file_exists(get_template_directory() . '/inc/dummy/' . $theme . '/data/sample' . $current_data . '.xml')) { $wp_import->import(get_template_directory() . '/inc/dummy/' . $theme . '/data/sample' . $current_data . '.xml'); } break; } ob_end_clean(); /* Done */ if ($current_data == 16) { die('<br />Import is finished.'); } }
function create_new_nav_menu($menu_name) { // Check if the menu exists $menu_exists = wp_get_nav_menu_object($menu_name); // If it doesn't exist, let's create it. $menu_id = -1; if (!$menu_exists) { $menu_id = wp_create_nav_menu($menu_name); } else { wp_delete_nav_menu($menu_name); $menu_id = wp_create_nav_menu($menu_name); } return $menu_id; }