Mostrar publicaciones a partir de la fecha de hoy

¿Cómo mostrar una lista de publicaciones desde hoy hasta el futuro? En realidad estoy usando este código:

    

Esto muestra correctamente todas las publicaciones y publicaciones futuras para esa categoría.

Un problema adicional es: dado que estoy usando “post_status = future & post_status = published”, tengo que eliminar las publicaciones antiguas para evitar que se muestren.

¡Gracias por tu ayuda!

Solutions Collecting From Web of "Mostrar publicaciones a partir de la fecha de hoy"

De acuerdo con query_posts puede hacer una función de filtrado como:

 function filter_where( $where = '' ) { // where post_date > today $where .= " AND post_date >= '" . date('Ym-d') . "'"; return $where; } add_filter( 'posts_where', 'filter_where' ); 

Y luego tu query_posts no necesita tener post_status

primero cambia tus query_posts (…) a esto:

 $args = array( 'cat' => 4, 'posts_per_page' => 6, 'orderby' => 'date', 'order' => 'DESC', 'post_status' =>array('future','published')); query_posts($args); 

luego agrega este código al archivo functions.php de tu tema

 function my_filter_where( $where = '' ) { global $wp_query; if (is_array($wp_query->query_vars['post_status'])){ if (in_array('future',$wp_query->query_vars['post_status']){ // posts today into the future $where .= " AND post_date > '" . date('Ym-d', strtotime('now')) . "'"; } } return $where; } add_filter( 'posts_where', 'my_filter_where' ); 

ahora esto supone que esta es la única consulta que incluye publicaciones futuras; de lo contrario, deberá agregar un parámetro condicional a la consulta y buscarla en la función de filtro.

No estoy seguro si post_status=future&post_status=published es la forma prevista. Supongo que es como con orderby=date whatever acaba de separarse con un espacio. ¿Qué sucede si solo dejas published la consulta? Supongo que es por eso que podrías sacar viejas publicaciones. Hasta el momento tengo la única idea de que obtuve el filtro, las publicaciones futuras no publicadas no son un proceso de 2 pasos. Lo siguiente no está probado y no funcionará de la caja. Solo debe darle una idea sobre dónde buscar el objeto $ post y cómo evitar mostrar las publicaciones que no encajan en su consulta.

 $future_posts = query_posts( 'cat=4&showposts=6&orderby=date&order=DESC&post_status=future' ); if ( $future_posts->have_posts() ) : while ( $future_posts->have_posts()) : $future_posts->the_post(); if ( $post['post_status'] !== 'published' ) : // do stuff endif; endwhile; endif;