用于从分类中删除每个帖子的函数

时间:2014-01-31 作者:Feel The Noise

我希望有一段代码,当触发时,可以从帖子类型的分类中删除每一篇帖子。我该怎么做?

非常感谢。

1 个回复
最合适的回答,由SO网友:fischi 整理而成

您可以使用taxquery, 并循环遍历结果,逐个删除它们。

wp_delete_post() 您可以选择将帖子移动到垃圾箱,或强制删除它,所以请小心。

为了确保删除正确的帖子,您可以创建要删除的帖子列表,而不是直接删除它们。

瞧,代码来了:

function f711_delete_all_posts_from_taxonomy() {

    $args = array(
        \'orderby\'         => \'post_date\',
        \'order\'           => \'DESC\',
        \'numberposts\'     => -1,
        \'post_type\'       => \'post\', // or whatever posttype you want to delete
        \'tax_query\' => array(
            array(
                \'taxonomy\' => \'yourtaxonomy\',
                \'field\' => \'slug\',
                \'terms\' => \'slug-to-be-deleted\'
            )
        )
    );
    $posts = get_posts( $args );
    foreach( $posts as $thispost ) {

        wp_delete_post( $thispost->ID, true ); //set second parameter to false to move the post to the trash

    }

}

结束

相关推荐

$wpdb in php 5.5

我正在帮助一位朋友更新他们的网站,并将其移动到新的服务器上。他们的旧服务器运行php 5.3.6-13,新站点运行php 5.5。有一个使用$wpdb的自定义插件,允许用户编辑写入数据库中自定义表的一些信息,特别是:$query = \"UPDATE wp_building_plan SET sale_price = \'$sale_price\', available = \'$available\', broker_name = \'$broker_name\', broker_email = \'$