/** * Register default custom Post Types and Taxonomies. * * @since 1.0.0 * @package GeoDirectory * @global object $wpdb WordPress Database object. */ function geodir_register_defaults() { global $wpdb; $menu_icon = geodir_plugin_url() . '/geodirectory-assets/images/favicon.ico'; if (!($listing_slug = get_option('geodir_listing_prefix'))) { $listing_slug = 'places'; } $gd_placetags = array(); $gd_placetags['object_type'] = 'gd_place'; $gd_placetags['listing_slug'] = $listing_slug . '/tags'; $gd_placetags['args'] = array('public' => true, 'hierarchical' => false, 'rewrite' => array('slug' => $listing_slug . '/tags', 'with_front' => false, 'hierarchical' => true), 'query_var' => true, 'labels' => array('name' => __('Place Tags', 'geodirectory'), 'singular_name' => __('Place Tag', 'geodirectory'), 'search_items' => __('Search Place Tags', 'geodirectory'), 'popular_items' => __('Popular Place Tags', 'geodirectory'), 'all_items' => __('All Place Tags', 'geodirectory'), 'edit_item' => __('Edit Place Tag', 'geodirectory'), 'update_item' => __('Update Place Tag', 'geodirectory'), 'add_new_item' => __('Add New Place Tag', 'geodirectory'), 'new_item_name' => __('New Place Tag Name', 'geodirectory'), 'add_or_remove_items' => __('Add or remove Place tags', 'geodirectory'), 'choose_from_most_used' => __('Choose from the most used Place tags', 'geodirectory'), 'separate_items_with_commas' => __('Separate Place tags with commas', 'geodirectory'))); $geodir_taxonomies = get_option('geodir_taxonomies'); $geodir_taxonomies['gd_place_tags'] = $gd_placetags; update_option('geodir_taxonomies', $geodir_taxonomies); // Update post types and delete tmp options flush_rewrite_rules(); $gd_placecategory = array(); $gd_placecategory['object_type'] = 'gd_place'; $gd_placecategory['listing_slug'] = $listing_slug; $gd_placecategory['args'] = array('public' => true, 'hierarchical' => true, 'rewrite' => array('slug' => $listing_slug, 'with_front' => false, 'hierarchical' => true), 'query_var' => true, 'labels' => array('name' => __('Place Categories', 'geodirectory'), 'singular_name' => __('Place Category', 'geodirectory'), 'search_items' => __('Search Place Categories', 'geodirectory'), 'popular_items' => __('Popular Place Categories', 'geodirectory'), 'all_items' => __('All Place Categories', 'geodirectory'), 'edit_item' => __('Edit Place Category', 'geodirectory'), 'update_item' => __('Update Place Category', 'geodirectory'), 'add_new_item' => __('Add New Place Category', 'geodirectory'), 'new_item_name' => __('New Place Category', 'geodirectory'), 'add_or_remove_items' => __('Add or remove Place categories', 'geodirectory'))); $geodir_taxonomies = get_option('geodir_taxonomies'); $geodir_taxonomies['gd_placecategory'] = $gd_placecategory; update_option('geodir_taxonomies', $geodir_taxonomies); flush_rewrite_rules(); $labels = array('name' => __('Places', 'geodirectory'), 'singular_name' => __('Place', 'geodirectory'), 'add_new' => __('Add New', 'geodirectory'), 'add_new_item' => __('Add New Place', 'geodirectory'), 'edit_item' => __('Edit Place', 'geodirectory'), 'new_item' => __('New Place', 'geodirectory'), 'view_item' => __('View Place', 'geodirectory'), 'search_items' => __('Search Places', 'geodirectory'), 'not_found' => __('No Place Found', 'geodirectory'), 'not_found_in_trash' => __('No Place Found In Trash', 'geodirectory')); $place_default = array('labels' => $labels, 'can_export' => true, 'capability_type' => 'post', 'description' => 'Place post type.', 'has_archive' => $listing_slug, 'hierarchical' => false, 'map_meta_cap' => true, 'menu_icon' => $menu_icon, 'public' => true, 'query_var' => true, 'rewrite' => array('slug' => $listing_slug, 'with_front' => false, 'hierarchical' => true), 'supports' => array('title', 'editor', 'author', 'thumbnail', 'excerpt', 'custom-fields', 'comments'), 'taxonomies' => array('gd_placecategory', 'gd_place_tags')); //Update custom post types $geodir_post_types = get_option('geodir_post_types'); $geodir_post_types['gd_place'] = $place_default; update_option('geodir_post_types', $geodir_post_types); // Update post types and delete tmp options flush_rewrite_rules(); geodir_register_taxonomies(); geodir_register_post_types(); //die; }
function geodir_cp_from_submit_handler() { global $plugin_prefix, $wpdb; if (isset($_REQUEST['geodir_save_post_type'])) { $custom_post_type = trim($_REQUEST['geodir_custom_post_type']); $listing_slug = trim($_REQUEST['geodir_listing_slug']); $listing_order = trim($_REQUEST['geodir_listing_order']); $categories = $_REQUEST['geodir_categories']; $tags = isset($_REQUEST['geodir_tags']) ? $_REQUEST['geodir_tags'] : ''; $name = $_REQUEST['geodir_name']; //htmlentities(trim($_REQUEST['geodir_name'])); $singular_name = trim($_REQUEST['geodir_singular_name']); $add_new = trim($_REQUEST['geodir_add_new']); $add_new_item = trim($_REQUEST['geodir_add_new_item']); $edit_item = trim($_REQUEST['geodir_edit_item']); $new_item = trim($_REQUEST['geodir_new_item']); $view_item = trim($_REQUEST['geodir_view_item']); $search_item = trim($_REQUEST['geodir_search_item']); $not_found = trim($_REQUEST['geodir_not_found']); $not_found_trash = trim($_REQUEST['geodir_not_found_trash']); $support = $_REQUEST['geodir_support']; $description = trim($_REQUEST['geodir_description']); $menu_icon = trim($_REQUEST['geodir_menu_icon']); $can_export = $_REQUEST['geodir_can_export']; $geodir_cp_meta_keyword = $_REQUEST['geodir_cp_meta_keyword']; $geodir_cp_meta_description = $_REQUEST['geodir_cp_meta_description']; $label_post_profile = stripslashes_deep(normalize_whitespace($_REQUEST['geodir_label_post_profile'])); $label_post_info = stripslashes_deep(normalize_whitespace($_REQUEST['geodir_label_post_info'])); $label_post_images = stripslashes_deep(normalize_whitespace($_REQUEST['geodir_label_post_images'])); $label_post_map = stripslashes_deep(normalize_whitespace($_REQUEST['geodir_label_post_map'])); $label_reviews = stripslashes_deep(normalize_whitespace($_REQUEST['geodir_label_reviews'])); $label_related_listing = stripslashes_deep(normalize_whitespace($_REQUEST['geodir_label_related_listing'])); $cpt_image = isset($_FILES['geodir_cpt_img']) && !empty($_FILES['geodir_cpt_img']) ? $_FILES['geodir_cpt_img'] : NULL; $cpt_image_remove = isset($_POST['geodir_cpt_img_remove']) ? $_POST['geodir_cpt_img_remove'] : false; if ($can_export == 'true') { $can_export = true; } else { $can_export = false; } $custom_post_type = geodir_clean($custom_post_type); // erase special characters from string $listing_slug = geodir_clean($listing_slug); // erase special characters from string if (isset($_REQUEST['posttype']) && $_REQUEST['posttype'] != '') { $geodir_post_types = get_option('geodir_post_types'); $post_type_array = $geodir_post_types[$_REQUEST['posttype']]; } if ($custom_post_type != '' && $listing_slug != '') { if (empty($post_type_array)) { $is_custom = 1; //check post type create by custom or any other add-once $posttypes_array = get_option('geodir_post_types'); $post_type = $custom_post_type; $custom_post_type = 'gd_' . $custom_post_type; if (array_key_exists($custom_post_type, $posttypes_array)) { $error[] = __('Post Type already exists.', GEODIR_CP_TEXTDOMAIN); } foreach ($posttypes_array as $key => $value) { if ($value['has_archive'] == $listing_slug) { $error[] = __('Listing Slug already exists.', GEODIR_CP_TEXTDOMAIN); break; } } } else { $post_type = preg_replace('/gd_/', '', $_REQUEST['posttype'], 1); $custom_post_type = $_REQUEST['posttype']; $is_custom = isset($post_type_array['is_custom']) ? $post_type_array['is_custom'] : ''; /*check post type create by custom or any other add-once */ //Edit case check duplicate listing slug if ($post_type_array['has_archive'] != $listing_slug) { $posttypes_array = get_option('geodir_post_types'); foreach ($posttypes_array as $key => $value) { if ($value['has_archive'] == $listing_slug) { $error[] = __('Listing Slug already exists.', GEODIR_CP_TEXTDOMAIN); break; } } } } if (empty($error)) { /** * Include any functions needed for upgrades. * * @since 1.1.7 */ require_once ABSPATH . 'wp-admin/includes/upgrade.php'; if (!empty($post_type_array)) { if (!$categories) { $geodir_taxonomies = get_option('geodir_taxonomies'); if (array_key_exists($custom_post_type . 'category', $geodir_taxonomies)) { unset($geodir_taxonomies[$custom_post_type . 'category']); update_option('geodir_taxonomies', $geodir_taxonomies); } } if (!$tags) { $geodir_taxonomies = get_option('geodir_taxonomies'); if (array_key_exists($custom_post_type . '_tags', $geodir_taxonomies)) { unset($geodir_taxonomies[$custom_post_type . '_tags']); update_option('geodir_taxonomies', $geodir_taxonomies); } } } $taxonomies = array(); if ($categories) { $taxonomies[] = $custom_post_type . 'category'; $categories = $custom_post_type . 'category'; } if ($tags) { $taxonomies[] = $custom_post_type . '_tags'; $tags = $custom_post_type . '_tags'; } if ($categories) { $gd_placecategory = array(); $gd_placecategory['object_type'] = $custom_post_type; $gd_placecategory['listing_slug'] = $listing_slug; $gd_placecategory['args'] = array('public' => true, 'hierarchical' => true, 'rewrite' => array('slug' => $listing_slug, 'with_front' => false, 'hierarchical' => true), 'query_var' => true, 'labels' => array('name' => __(ucfirst($post_type) . ' Categories', GEODIR_CP_TEXTDOMAIN), 'singular_name' => __(ucfirst($post_type) . ' Category', GEODIR_CP_TEXTDOMAIN), 'search_items' => __('Search ' . ucfirst($post_type) . ' Categories', GEODIR_CP_TEXTDOMAIN), 'popular_items' => __('Popular ' . ucfirst($post_type) . ' Categories', GEODIR_CP_TEXTDOMAIN), 'all_items' => __('All ' . ucfirst($post_type) . ' Categories', GEODIR_CP_TEXTDOMAIN), 'edit_item' => __('Edit ' . ucfirst($post_type) . ' Category', GEODIR_CP_TEXTDOMAIN), 'update_item' => __('Update ' . ucfirst($post_type) . ' Category', GEODIR_CP_TEXTDOMAIN), 'add_new_item' => __('Add New ' . ucfirst($post_type) . ' Category', GEODIR_CP_TEXTDOMAIN), 'new_item_name' => __('New ' . ucfirst($post_type) . ' Category', GEODIR_CP_TEXTDOMAIN), 'add_or_remove_items' => __('Add or remove ' . ucfirst($post_type) . ' categories', GEODIR_CP_TEXTDOMAIN)), 'show_in_nav_menus' => !empty($_REQUEST['geodir_disable_nav_menus']['cats']) ? 0 : 1); $geodir_taxonomies = get_option('geodir_taxonomies'); $geodir_taxonomies[$categories] = $gd_placecategory; update_option('geodir_taxonomies', $geodir_taxonomies); } if ($tags) { $gd_placetags = array(); $gd_placetags['object_type'] = $custom_post_type; $gd_placetags['listing_slug'] = $listing_slug . '/tags'; $gd_placetags['args'] = array('public' => true, 'hierarchical' => false, 'rewrite' => array('slug' => $listing_slug . '/tags', 'with_front' => false, 'hierarchical' => false), 'query_var' => true, 'labels' => array('name' => __(ucfirst($post_type) . ' Tags', GEODIR_CP_TEXTDOMAIN), 'singular_name' => __(ucfirst($post_type) . ' Tag', GEODIR_CP_TEXTDOMAIN), 'search_items' => __('Search ' . ucfirst($post_type) . ' Tags', GEODIR_CP_TEXTDOMAIN), 'popular_items' => __('Popular ' . ucfirst($post_type) . ' Tags', GEODIR_CP_TEXTDOMAIN), 'all_items' => __('All ' . ucfirst($post_type) . ' Tags', GEODIR_CP_TEXTDOMAIN), 'edit_item' => __('Edit ' . ucfirst($post_type) . ' Tag', GEODIR_CP_TEXTDOMAIN), 'update_item' => __('Update ' . ucfirst($post_type) . ' Tag', GEODIR_CP_TEXTDOMAIN), 'add_new_item' => __('Add New ' . ucfirst($post_type) . ' Tag', GEODIR_CP_TEXTDOMAIN), 'new_item_name' => __('New ' . ucfirst($post_type) . ' Tag Name', GEODIR_CP_TEXTDOMAIN), 'add_or_remove_items' => __('Add or remove ' . ucfirst($post_type) . ' tags', GEODIR_CP_TEXTDOMAIN), 'choose_from_most_used' => __('Choose from the most used ' . ucfirst($post_type) . ' tags', GEODIR_CP_TEXTDOMAIN), 'separate_items_with_commas' => __('Separate ' . ucfirst($post_type) . ' tags with commas', GEODIR_CP_TEXTDOMAIN)), 'show_in_nav_menus' => !empty($_REQUEST['geodir_disable_nav_menus']['tags']) ? 0 : 1); $geodir_taxonomies = get_option('geodir_taxonomies'); $geodir_taxonomies[$tags] = $gd_placetags; update_option('geodir_taxonomies', $geodir_taxonomies); } if (empty($name)) { $name = __(ucfirst($post_type), GEODIR_CP_TEXTDOMAIN); } if (empty($singular_name)) { $singular_name = __(ucfirst($post_type), GEODIR_CP_TEXTDOMAIN); } if (empty($add_new)) { $add_new = __('Add New ' . ucfirst($post_type), GEODIR_CP_TEXTDOMAIN); } if (empty($add_new_item)) { $add_new_item = __('Add New Item', GEODIR_CP_TEXTDOMAIN); } if (empty($edit_item)) { $edit_item = __('Edit Item', GEODIR_CP_TEXTDOMAIN); } if (empty($new_item)) { $new_item = __('New Item', GEODIR_CP_TEXTDOMAIN); } if (empty($view_item)) { $view_item = __('View Item', GEODIR_CP_TEXTDOMAIN); } if (empty($search_item)) { $search_item = __('Search Items', GEODIR_CP_TEXTDOMAIN); } if (empty($not_found)) { $not_found = __('Not Found', GEODIR_CP_TEXTDOMAIN); } if (empty($not_found_trash)) { $not_found_trash = __('Not Found In Trash', GEODIR_CP_TEXTDOMAIN); } $labels = array('name' => ucfirst($name), 'singular_name' => ucfirst($singular_name), 'add_new' => ucfirst($add_new), 'add_new_item' => ucfirst($add_new_item), 'edit_item' => ucfirst($edit_item), 'new_item' => ucfirst($new_item), 'view_item' => ucfirst($view_item), 'search_items' => ucfirst($search_item), 'not_found' => ucfirst($not_found), 'not_found_in_trash' => ucfirst($not_found_trash), 'label_post_profile' => $label_post_profile, 'label_post_info' => $label_post_info, 'label_post_images' => $label_post_images, 'label_post_map' => $label_post_map, 'label_reviews' => $label_reviews, 'label_related_listing' => $label_related_listing); $place_default = array('labels' => $labels, 'can_export' => $can_export, 'capability_type' => 'post', 'description' => $description, 'has_archive' => $listing_slug, 'hierarchical' => false, 'map_meta_cap' => true, 'menu_icon' => apply_filters('geodir_custom_post_type_default_menu_icon', $menu_icon), 'public' => true, 'query_var' => true, 'rewrite' => array('slug' => $listing_slug, 'with_front' => false, 'hierarchical' => true), 'supports' => $support, 'taxonomies' => $taxonomies, 'is_custom' => $is_custom, 'listing_order' => $listing_order, 'seo' => array('meta_keyword' => $geodir_cp_meta_keyword, 'meta_description' => $geodir_cp_meta_description), 'show_in_nav_menus' => !empty($_REQUEST['geodir_disable_nav_menus']['posts']) ? 0 : 1); update_option('temp_post_type', $place_default); $geodir_post_types = get_option('geodir_post_types'); $geodir_post_types[$custom_post_type] = $place_default; update_option('geodir_post_types', $geodir_post_types); //ADD NEW CUSTOM POST TYPE IN SHOW POST TYPE NAVIGATIONS if (!isset($_REQUEST['posttype'])) { $get_posttype_settings_options = array('geodir_add_posttype_in_listing_nav', 'geodir_allow_posttype_frontend', 'geodir_add_listing_link_add_listing_nav', 'geodir_add_listing_link_user_dashboard', 'geodir_listing_link_user_dashboard', 'geodir_favorite_link_user_dashboard'); foreach ($get_posttype_settings_options as $get_posttype_settings_options_obj) { $geodir_post_types_listing = get_option($get_posttype_settings_options_obj); if (empty($geodir_post_types_listing) || is_array($geodir_post_types_listing) && !in_array($custom_post_type, $geodir_post_types_listing)) { $geodir_post_types_listing[] = $custom_post_type; update_option($get_posttype_settings_options_obj, $geodir_post_types_listing); } } } // Save post types in default table if (empty($post_type_array)) { $geodir_custom_post_types = get_option('geodir_custom_post_types'); if (!$geodir_custom_post_types) { $geodir_custom_post_types = array(); } if (!array_key_exists($custom_post_type, $geodir_custom_post_types)) { $geodir_custom_post_types[$custom_post_type] = $custom_post_type; update_option('geodir_custom_post_types', $geodir_custom_post_types); } } // Table for storing custom post type attribute - these are user defined $collate = ''; if ($wpdb->has_cap('collation')) { if (!empty($wpdb->charset)) { $collate = "DEFAULT CHARACTER SET {$wpdb->charset}"; } if (!empty($wpdb->collate)) { $collate .= " COLLATE {$wpdb->collate}"; } } $newtable_name = $plugin_prefix . $custom_post_type . '_detail'; $newposttype_detail = "CREATE TABLE IF NOT EXISTS " . $newtable_name . " (\n\t\t\t\t\t\t\t\t\t\t`post_id` int(11) NOT NULL,\n\t\t\t\t\t\t\t\t\t\t`post_title` text NULL DEFAULT NULL,\n\t\t\t\t\t\t\t\t\t\t`post_status` varchar(20) NULL DEFAULT NULL,\n\t\t\t\t\t\t\t\t\t\t`default_category` INT NULL DEFAULT NULL,\n\t\t\t\t\t\t\t\t\t\t`post_tags` text NULL DEFAULT NULL,\n\t\t\t\t\t\t\t\t\t\t`post_location_id` int(11) NOT NULL,\n\t\t\t\t\t\t\t\t\t\t`marker_json` text NULL DEFAULT NULL,\n\t\t\t\t\t\t\t\t\t\t`claimed` ENUM( '1', '0' ) NULL DEFAULT '0',\n\t\t\t\t\t\t\t\t\t\t`businesses` ENUM( '1', '0' ) NULL DEFAULT '0',\n\t\t\t\t\t\t\t\t\t\t`is_featured` ENUM( '1', '0' ) NULL DEFAULT '0',\n\t\t\t\t\t\t\t\t\t\t`featured_image` VARCHAR( 254 ) NULL DEFAULT NULL,\n\t\t\t\t\t\t\t\t\t\t`paid_amount` DOUBLE NOT NULL DEFAULT '0', \n\t\t\t\t\t\t\t\t\t\t`package_id` INT(11) NOT NULL DEFAULT '0',\n\t\t\t\t\t\t\t\t\t\t`alive_days` INT(11) NOT NULL DEFAULT '0',\n\t\t\t\t\t\t\t\t\t\t`paymentmethod` varchar(30) NULL DEFAULT NULL,\n\t\t\t\t\t\t\t\t\t\t`expire_date` VARCHAR( 100 ) NULL DEFAULT NULL,\n\t\t\t\t\t\t\t\t\t\t`submit_time` varchar(25) NULL DEFAULT NULL,\n\t\t\t\t\t\t\t\t\t\t`submit_ip` varchar(15) NULL DEFAULT NULL,\n\t\t\t\t\t\t\t\t\t\t`overall_rating` float(11) DEFAULT NULL, \n\t\t\t\t\t\t\t\t\t\t`rating_count` INT(11) DEFAULT '0',\n\t\t\t\t\t\t\t\t\t\t`post_locations` VARCHAR( 254 ) NULL DEFAULT NULL,\n\t\t\t\t\t\t\t\t\t\tPRIMARY KEY (`post_id`)) {$collate} "; dbDelta($newposttype_detail); do_action('geodir_after_custom_detail_table_create', $custom_post_type, $newtable_name); $package_info = array(); /*$package_info = apply_filters('geodir_post_package_info' , $package_info , '', $custom_post_type); $package_id = $package_info->pid;*/ $package_info = geodir_post_package_info($package_info, '', $custom_post_type); $package_id = $package_info->pid; if (!$wpdb->get_var($wpdb->prepare("SELECT id FROM " . GEODIR_CUSTOM_FIELDS_TABLE . " WHERE FIND_IN_SET(%s, packages)", array($package_id)))) { $table = $plugin_prefix . $custom_post_type . '_detail'; $wpdb->query($wpdb->prepare("UPDATE " . $table . " SET package_id=%d", array($package_id))); $wpdb->query($wpdb->prepare("UPDATE " . GEODIR_CUSTOM_FIELDS_TABLE . " SET packages=%s WHERE post_type=%s", array($package_id, $custom_post_type))); } geodir_cp_create_default_fields($custom_post_type, $package_id); $msg = __('Post type created successfully.', GEODIR_CP_TEXTDOMAIN); if (isset($_REQUEST['posttype']) && $_REQUEST['posttype'] != '') { $msg = __('Post type updated successfully.', GEODIR_CP_TEXTDOMAIN); } /// call the geodirectory core function to register all posttypes again. geodir_register_post_types(); // call the geodirectory core function to register all taxonomies again. geodir_register_taxonomies(); geodir_flush_rewrite_rules(); geodir_set_user_defined_order(); // Save CPT image $uploads = wp_upload_dir(); // if remove is set then remove the file if ($cpt_image_remove) { if (get_option('geodir_cpt_img_' . $custom_post_type)) { $image_name_arr = explode('/', get_option('geodir_cpt_img_' . $custom_post_type)); $img_path = $uploads['path'] . '/' . end($image_name_arr); if (file_exists($img_path)) { unlink($img_path); } } update_option('geodir_cpt_img_' . $custom_post_type, ''); } if ($cpt_image) { $tmp_name = isset($cpt_image['tmp_name']) ? $cpt_image['tmp_name'] : ''; $filename = isset($cpt_image['name']) ? $cpt_image['name'] : ''; $ext = pathinfo($filename, PATHINFO_EXTENSION); $uplaods = array(); $uplaods[] = $tmp_name; $allowed_file_types = array('jpg' => 'image/jpg', 'jpeg' => 'image/jpeg', 'gif' => 'image/gif', 'png' => 'image/png'); $upload_overrides = array('test_form' => false, 'mimes' => $allowed_file_types); $cpt_img = wp_handle_upload($cpt_image, $upload_overrides); if (!empty($cpt_img) && !empty($cpt_img['url'])) { if (get_option('geodir_cpt_img_' . $custom_post_type)) { $image_name_arr = explode('/', get_option('geodir_cpt_img_' . $custom_post_type)); $img_path = $uploads['path'] . '/' . end($image_name_arr); if (file_exists($img_path)) { unlink($img_path); } } // set width and height $w = apply_filters('geodir_cpt_img_width', 300); // get large size width $h = apply_filters('geodir_cpt_img_height', 300); // get large size width // get the uploaded image $cpt_img_file = wp_get_image_editor($cpt_img['file']); // if no error if (!is_wp_error($cpt_img_file)) { // get image width and height $size = getimagesize($cpt_img['file']); // $size[0] = width, $size[1] = height if ($size[0] > $w || $size[1] > $h) { // if the width or height is larger than the large-size $cpt_img_file->resize($w, $h, false); // resize the image $final_image = $cpt_img_file->save($cpt_img['file']); // save the resized image } } update_option('geodir_cpt_img_' . $custom_post_type, $cpt_img['url']); } } $msg = urlencode($msg); $redirect_to = admin_url() . 'admin.php?page=geodirectory&tab=geodir_manage_custom_posts&cp_success=' . $msg; wp_redirect($redirect_to); exit; } else { global $cp_error; foreach ($error as $err) { $cp_error .= '<div id="message" style="color:#FF0000;" class="updated fade"><p><strong>' . $err . '</strong></p></div>'; } } } } if (isset($_REQUEST['action']) && $_REQUEST['action'] == 'cp_delete') { if ($_REQUEST['posttype']) { $geodir_taxonomies = get_option('geodir_taxonomies'); if (array_key_exists($_REQUEST['posttype'] . 'category', $geodir_taxonomies)) { unset($geodir_taxonomies[$_REQUEST['posttype'] . 'category']); update_option('geodir_taxonomies', $geodir_taxonomies); } if (array_key_exists($_REQUEST['posttype'] . '_tags', $geodir_taxonomies)) { unset($geodir_taxonomies[$_REQUEST['posttype'] . '_tags']); update_option('geodir_taxonomies', $geodir_taxonomies); } $geodir_post_types = get_option('geodir_post_types'); if (array_key_exists($_REQUEST['posttype'], $geodir_post_types)) { unset($geodir_post_types[$_REQUEST['posttype']]); update_option('geodir_post_types', $geodir_post_types); } //UPDATE SHOW POST TYPES NAVIGATION OPTIONS $get_posttype_settings_options = array('geodir_add_posttype_in_listing_nav', 'geodir_allow_posttype_frontend', 'geodir_add_listing_link_add_listing_nav', 'geodir_add_listing_link_user_dashboard', 'geodir_listing_link_user_dashboard', 'geodir_favorite_link_user_dashboard'); foreach ($get_posttype_settings_options as $get_posttype_settings_options_obj) { $geodir_post_types_listing = get_option($get_posttype_settings_options_obj); if (in_array($_REQUEST['posttype'], $geodir_post_types_listing)) { $geodir_update_post_type_nav = array_diff($geodir_post_types_listing, array($_REQUEST['posttype'])); update_option($get_posttype_settings_options_obj, $geodir_update_post_type_nav); } } //END CODE OPTIONS geodir_flush_rewrite_rules(); $msg = __('Post type deleted successfully.', GEODIR_CP_TEXTDOMAIN); $msg = urlencode($msg); $redirect_to = admin_url() . 'admin.php?page=geodirectory&tab=geodir_manage_custom_posts&confirm=true&geodir_customposttype=' . $_REQUEST['posttype'] . '&cp_success=' . $msg; wp_redirect($redirect_to); exit; } } }