将一半的帖子状态从“发布”更新为“垃圾”

时间:2013-05-31 作者:Nguyen

我想更新一半状态为的帖子publishedtrashed.

示例:

如果我有10000个帖子,5000个帖子到垃圾桶,3000个帖子到垃圾桶,如果我有7000个帖子,3500个帖子到垃圾桶

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

假设您想按日期删除,下面是一个基本概念。你需要弄清楚什么时候需要运行它,否则,正如我在上面评论的那样,如果它重复运行,你最终只会得到一篇文章。

编辑:为了安全起见,包括参数

<?php 
function doomsday_device($herd_thinning) {
    if(empty($herd_thinning)) {
        return;
    }

    $args = array(
        \'post_type\' => \'post\',
        \'post_status\' => \'publish\',
        \'orderby\' => \'date\',
        \'order\' => \'ASC\',
        \'posts_per_page\' => -1
    );

    $loop = new WP_Query($args);

    if($herd_thinning > $loop->post_count) {
        return;
    }

    $kill_num = $loop->post_count / 2;
    $i = 0;

    while($loop->have_posts()) : $loop->the_post();
        if($i >= $kill_num) {
            break;
        }
        wp_trash_post($post->ID);
        $i++
    endwhile;
}
?>
必须强调,这是一个非常危险的功能。如果您尝试,请备份您的数据库。您需要向其传递一个整数,该整数表示对您来说太大的总post count大小,这将允许细化。

结束

相关推荐

load more posts by category

正如你所看到的,我在每个标签中按类别加载,并在10篇帖子完成后,按我想设置的每个标签显示总共10篇帖子。我想在我已经完成的10篇文章的底部添加一个加载更多按钮,但查看者必须查看其他特定类别的文章,所以我想通过保持在同一页面中,在该选项卡中加载更多文章,按该类别显示更多文章。这是我按类别显示每个选项卡的操作(&A);按员额总数计算 <?php $rightbox = get_posts(\'&cat=8&showposts=10\'); foreach($right