$selected_cats,'post_status'=>'private', 'post_type'=>'post'); } else { $options = array('category__in'=>$selected_cats,'post_status'=>'publish', 'post_type'=>'post'); } $limit_to = absint($_POST['smbd_cats_limits_to']); if ($limit_to > 0) { $options['showposts'] = $limit_to; } else { $options['nopaging'] = 'true'; } $force_delete = $_POST['smbd_cats_force_delete']; if ($force_delete == 'true') { $force_delete = true; } else { $force_delete = false; } $posts = $wp_query->query($options); foreach ($posts as $post) { wp_delete_post($post->ID, $force_delete); } break; case "bulk-delete-tags": // delete by tags $selected_tags = $_POST['smbd_tags']; if ($_POST['smbd_tags_restrict'] == "true") { add_filter ('posts_where', 'smbd_tags_by_days'); } $private = $_POST['smbd_tags_private']; if ($private == 'true') { $options = array('tag__in'=>$selected_tags,'post_status'=>'private', 'post_type'=>'post'); } else { $options = array('tag__in'=>$selected_tags,'post_status'=>'publish', 'post_type'=>'post'); } $limit_to = absint($_POST['smbd_tags_limits_to']); if ($limit_to > 0) { $options['showposts'] = $limit_to; } else { $options['nopaging'] = 'true'; } $force_delete = $_POST['smbd_tags_force_delete']; if ($force_delete == 'true') { $force_delete = true; } else { $force_delete = false; } $posts = $wp_query->query($options); foreach ($posts as $post) { wp_delete_post($post->ID, $force_delete); } break; case "bulk-delete-taxs": // delete by taxs $selected_taxs = $_POST['smbd_taxs']; foreach ($selected_taxs as $selected_tax) { $postids = smbd_get_tax_post($selected_tax); if ($_POST['smbd_taxs_restrict'] == "true") { add_filter ('posts_where', 'smbd_taxs_by_days'); } $private = $_POST['smbd_taxs_private']; if ($private == 'true') { $options = array('post__in'=>$postids,'post_status'=>'private', 'post_type'=>'post'); } else { $options = array('post__in'=>$postids,'post_status'=>'publish', 'post_type'=>'post'); } $limit_to = absint($_POST['smbd_taxs_limits_to']); if ($limit_to > 0) { $options['showposts'] = $limit_to; } else { $options['nopaging'] = 'true'; } $force_delete = $_POST['smbd_taxs_force_delete']; if ($force_delete == 'true') { $force_delete = true; } else { $force_delete = false; } $posts = $wp_query->query($options); foreach ($posts as $post) { wp_delete_post($post->ID, $force_delete); } } break; case "bulk-delete-special": $options = array(); $limit_to = absint($_POST['smbd_special_limit_to']); if ($limit_to > 0) { $options['showposts'] = $limit_to; } else { $options['nopaging'] = 'true'; } $force_delete = $_POST['smbd_special_force_delete']; if ($force_delete == 'true') { $force_delete = true; } else { $force_delete = false; } // Drafts if ("drafs" == $_POST['smbd_drafs']) { $options['post_status'] = 'draft'; $drafts = $wp_query->query($options); foreach ($drafts as $draft) { wp_delete_post($draft->ID, $force_delete); } } // Revisions if ("revisions" == $_POST['smbd_revisions']) { $revisions = $wpdb->get_results($wpdb->prepare("select ID from $wpdb->posts where post_type = 'revision'")); foreach ($revisions as $revision) { wp_delete_post($revision->ID, $force_delete); } } // Pending Posts if ("pending" == $_POST['smbd_pending']) { $pendings = $wpdb->get_results($wpdb->prepare("select ID from $wpdb->posts where post_status = 'pending'")); foreach ($pendings as $pending) { wp_delete_post($pending->ID, $force_delete); } } // Future Posts if ("future" == $_POST['smbd_future']) { $futures = $wpdb->get_results($wpdb->prepare("select ID from $wpdb->posts where post_status = 'future'")); foreach ($futures as $future) { wp_delete_post($future->ID, $force_delete); } } // Private Posts if ("private" == $_POST['smbd_private']) { $privates = $wpdb->get_results($wpdb->prepare("select ID from $wpdb->posts where post_status = 'private'")); foreach ($privates as $private) { wp_delete_post($private->ID, $force_delete); } } // Pages if ("pages" == $_POST['smbd_pages']) { $options['post_type'] = 'page'; $pages = $wp_query->query($options); foreach ($pages as $page) { wp_delete_post($page->ID, $force_delete); } } // Specific Pages if ("specificpages" == $_POST['smdb_specific_pages']) { $urls = preg_split( '/\r\n|\r|\n/', $_POST['smdb_specific_pages_urls'] ); foreach ($urls as $url) { $checkedurl = $url; if (substr($checkedurl ,0,1) == '/') { $checkedurl = get_site_url() . $checkedurl ; } $postid = url_to_postid( $checkedurl ); wp_delete_post($postid, $force_delete); } } break; } // hook the admin notices action add_action( 'admin_notices', 'smbd_deleted_notice', 9 ); } } } /** * Show deleted notice messages */ if (!function_exists('smbd_deleted_notice')) { function smbd_deleted_notice() { echo "
" . __("All the selected posts have been successfully deleted.", 'bulk-delete') . "