A delete/trash all function?

时间:2015-10-20 作者:dingo_d

是否有一个功能(或一组预定义的功能)可以清除所有帖子、帖子标签和类别、所有自定义帖子和自定义帖子条款、附件、菜单和自定义设置?

到目前为止,我知道如何删除所有主题mod

remove_theme_mods()

我发现wp_delete_post() 但我想这需要post-ID,因为当我称它为空时,什么都没发生。

我需要一个能快速删除或丢弃以上所有内容的函数,因为我正在进行导入,所以每次导入内容时,我都需要转到每个页面手动删除所有内容,这很乏味。如果我可以在一次单击/刷新中完成,这将节省我的时间。

1 个回复
SO网友:dingo_d

所以我找不到任何东西,所以我创建了这个。唯一的缺点是,它会删除帖子中的“未分类”术语,但我可以接受,因为这只是为了发展。

function delete_all(){
    global $wpdb;
    $menus = get_terms( \'nav_menu\', array( \'hide_empty\' => false ) );
    $all_post_types = get_post_types();
    $all_taxonomies = get_taxonomies();
    $all_options = wp_load_alloptions();

    foreach ($all_options as $option) {
        delete_option($option);
    }

    foreach ($menus as $menu => $menu_obj) {
        wp_delete_nav_menu($menu_obj->term_id);
    }

    foreach ($all_post_types as $post_type => $post_type_value) {
        $temp_posts = get_posts( array(\'post_type\' => $post_type, \'posts_per_page\' => -1));

        foreach ($temp_posts as $temp_post => $temp_post_value) {
            wp_delete_post($temp_post_value->ID);
        }
    }

    remove_theme_mods();

    foreach ( $all_taxonomies as $taxonomy ) {
        // Prepare & excecute SQL - also deletes Uncategorized
        $wpdb->get_results( $wpdb->prepare( "DELETE t.*, tt.* FROM $wpdb->terms AS t INNER JOIN $wpdb->term_taxonomy AS tt ON t.term_id = tt.term_id WHERE tt.taxonomy IN (\'%s\')", $taxonomy ) );

    }

}

add_action(\'wp_loaded\', \'delete_all\');
我在这里找到的分类部分:http://wpsmith.net/2014/plugin-uninstall-delete-terms-taxonomies-wordpress-database/

我看着wp_delete_term, 但我不能让它工作。

相关推荐

Admin Theme customization

我遵循wordpress codex网站上关于通过插件创建管理主题的说明。我激活了插件,但我的样式表没有包含在<head>.. 这是我的代码:add_action( \'admin_init\', \'kd_plugin_admin_init\' ); add_action( \'admin_menu\', \'kd_plugin_admin_menu\' ); function kd_plugin_admin_init() { /* Register