如何在管理中按之前的日期或按帖子状态“将来”过滤帖子?

时间:2015-03-17 作者:jimihenrik

我已经阅读/搜索了大量的问题,但我发现的似乎都与自定义帖子类型有关。

情况是,有时我们碰巧有很多帖子等待发布,我希望最好只显示一周后的帖子(所以之前的所有帖子strtotime("+1 week")) 但如果这不可编辑,我想从编辑中按状态“未来”过滤掉所有帖子。php“all”视图。

有人能帮帮我吗?

function hide_future_scheduled($wp_query) {
    global $pagenow;
    if ($pagenow == \'edit.php\') {
        $wp_query->set(WHAT CAN I PUT IN HERE TO DO THIS);
    }
}
add_filter(\'parse_query\', \'hide_future_scheduled\');
提前谢谢。

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

这个问题几乎被另一条线索所涵盖here.

如果其他人需要类似的内容,我最终使用以下代码隐藏了未来一周内的所有帖子。

function hide_future_posts($where, $q) {
    if(is_admin() && $q->is_main_query() && !filter_input(INPUT_GET, \'post_status\') && ( $screen = get_current_screen() ) instanceof \\WP_Screen && \'edit-post\' === $screen->id) {
        global $wpdb;

        $where .= sprintf(" AND {$wpdb->posts}.post_date <= ( \'%s\' )", date(\'Y-m-d\', strtotime(\'+1 week\')));
    }
    return $where;
}
add_action( \'posts_where\', \'hide_future_posts\', 10, 2 );

结束

相关推荐

WP_UPDATE_POST创建修订而不是更新帖子

我一直在尝试更新posts表中的一个帖子,但出于某种原因,它创建了多次修订,但没有更新主帖子。在过去的一天里,我一直在努力想办法解决这个问题,但到目前为止,我的运气还不错。$post_meta_value = get_post_meta($unit_post_id, $post_meta_key.\'_after_id\', true); global $wpdb; $my_post = array( \'ID\' => $