Usuario_FTW
Estoy limitando mi consulta para usar mostrar publicación de hace 6 meses, lo que funciona bien.
Pero necesito que se base en una fecha que está en el post_meta
tabla en lugar de ‘post_date_gmt’.
En mi caso tengo meta_keys que se llaman payment_date
y los valores son, por supuesto, una fecha como 31-10-2016
por ejemplo.
$months_ago = 6;
$args = array(
'date_query' => array(
array(
'column' => 'post_date_gmt',
'after' => $months_ago . ' months ago',
)
),
'numberposts' => -1
);
Compruébalo aquí: https://codex.wordpress.org/Class_Reference/WP_Query#Custom_Field_Parameters
Si te desplazas por los ejemplos, verás:
Mostrar publicaciones donde la clave del campo personalizado es una fecha establecida y el valor del campo personalizado es ahora. Muestra solo las publicaciones cuya fecha no ha pasado.
$args = array(
'post_type' => 'event',
'meta_key' => 'event_date',
'meta_value' => date( "Ymd" ), // change to how "event date" is stored
'meta_compare' => '>',
);
$query = new WP_Query( $args );
En tu caso podrías poner algo como: date( "dmY", strtotime( '6 months ago' ) )
peyman naeimi
Prueba este código:
$sixmonthagodate = date( "d-m-Y", strtotime('-6 Months') );
$args = array(
'post_type' => 'post',
'posts_per_page' => -1,
'meta_key' => 'payment_date',
'meta_value' => $sixmonthagodate,
'meta_compare' => '>',
);
$query = new WP_Query( $args );
compruebe si su post_type es verdadero en su sitio de WordPress.
Raunak Gupta
Primero lo primero
date_query
trabaja enpost_date_gmt
. Si desea consultar la publicación desde los metacampos, debe usarmeta_query
.
Aquí hay un código de muestra:
$months_ago = 6;
$args = [
//...
//...
'posts_per_page' => -1, // Unlimited posts
//...
//...
'meta_query' => [
'relation' => 'AND',
[
'key' => 'payment_date',
'value' => date('d-m-Y', strtotime($months_ago . ' months ago')), //<-- Converting date into your custom date format
'compare' => '>', //you can also use <=, >=, <, etc..
'type' => 'DATE'
],
]
];
$query = new WP_Query($args);
if ($query->have_posts()) :
/* Start the Loop */
while ($query->have_posts()) : $query->the_post();
//you post
endwhile;
endif;
El código anterior debería funcionar para usted.
Pregunta relacionada:
- Ocultar publicaciones de eventos pasados según el campo de fecha personalizado
- La fecha del campo personalizado Orderby ACF no funciona
¡Espero que esto ayude!