'); // Add top-level menu with custom SVG icon $menu_slug = 'patternswp-plugin-menu'; add_menu_page( 'PatternsWP', 'PatternsWP', 'manage_options', $menu_slug, array($this, 'render_main_page'), $custom_icon, 60 ); // Add subpages $this->add_subpage($menu_slug, 'Dashboard', 'Dashboard', 'patternswp-plugin-menu', array($this, 'render_main_page')); $this->add_subpage($menu_slug, 'Support', 'Support', 'patternswp-plugin-page-1', array($this, 'patternswp_support')); $this->add_subpage($menu_slug, 'Clear Cache', 'Clear Cache', 'patternswp-clear-cache', array($this, 'patternswp_clear_cache_form')); } /** * Add subpage */ private function add_subpage($parent_slug, $page_title, $menu_title, $menu_slug, $callback) { // Add subpage add_submenu_page($parent_slug, $page_title, $menu_title, 'manage_options', $menu_slug, $callback); } /** * Render main page */ public function render_main_page() { ?>

display_name . ' 👋'); ?>

'.esc_attr('contact us via the support form →', 'patternswp').'' ); ?>

get_col($wpdb->prepare("SELECT option_name FROM $wpdb->options WHERE option_name LIKE %s", $wpdb->esc_like($pattern) . '%')); // Delete all patterns cache $patterns = 'patterns_cache_'; $wpdb->query( $wpdb->prepare( "DELETE FROM $wpdb->options WHERE option_name LIKE %s", $wpdb->esc_like($patterns) . '%' ) ); foreach ($results as $transient) { delete_option($transient); delete_option(str_replace('_transient_', '_transient_timeout_', $transient)); } wp_redirect(add_query_arg(array( 'page' => 'patternswp-clear-cache', 'pt_msg' => urlencode('Clear Cache Successfully'), 'status' => 'success' ), admin_url('admin.php'))); exit; } } } new PatternsWP_Admin();