Pregunta sobre WordPress Infinite Scroll - Ajax Load More de Wordpress:

Comparaci贸n de fechas de ACF

Un usuario pregunt贸 馃憞

Hola,

Lucho mucho con el par谩metro meta_compare. Tengo trabajos con el campo Fecha de ACF [event_starts] y trato de filtrar eventos entre dos fechas (mostrar el evento por meses).

Filtrado por 芦m谩s禄 o 芦menos禄 con una fecha, pero con dos fechas muestra todos o ning煤n valor.

Intento mostrar todas las publicaciones con ACF Date [event_starts] entre octubre:


$start_date = '20191001'; // October 1, 2019
$end_date = '20191031'; // October 31, 2019 

echo do_shortcode('[ajax_load_more 
	post-type="post" 
	meta_key="event_starts:event_starts" 
	meta_value="'. $start_date .':'. $end_date .'" 
	meta_compare=">:lessthan"
	meta_operator="DATE:DATE" 
	meta_relation="AND"
]');

Solo obtengo fechas que son 2019-10-31 (pero tengo fechas entre fechas de inicio / finalizaci贸n), si uso meta_relation = 鈥漁鈥 obtengo todas las fechas.

Creo que hay un problema con el formato de fecha ACF en la base de datos y el valor de $ start_date. ACF almacena valores en la base de datos sin guiones (20191001).

驴Quiz谩s alguien pueda ayudarme?

(@dcooney)

Hace 1 a帽o, 4 meses

hola @deiwee Parece que hay un error en el coraz贸n de ALM con lessthan mientras usa varios objetos meta_query.

He solucionado este problema localmente y se incluir谩 en el pr贸ximo n煤mero. Probablemente dentro de una semana.

Si necesita una soluci贸n anterior, h谩gamelo saber y puedo corregir el c贸digo.

Lanzador de hilos

(@deiwee)

Hace 1 a帽o, 4 meses

隆Aunque soporte r谩pido! 馃檪

Por el momento he logrado 芦arreglar禄 esto:


$start_date = '20191001'; // October 1, 2019
$end_date = '20191031'; // October 31, 2019
echo do_shortcode('[ajax_load_more 
post-type="post" 
meta_key="event_starts" 
meta_value="'. $start_date .','. $end_date .'" 
meta_compare="BETWEEN"
meta_operator="DATE"
]');

No s茅 por qu茅 muchos objetos meta_value solo funcionan con una coma (los ejemplos eran dos puntos). Gracias de nuevo, esperar茅 una actualizaci贸n.

Sobre.

(@dcooney)

Hace 1 a帽o, 4 meses

@deiwee S铆, probablemente sea una mejor manera de todos modos.

Lanzador de hilos

(@deiwee)

Hace 1 a帽o, 4 meses

Este puede ser el mismo error, pero encuentro un extra帽o problema de clasificaci贸n.

Tengo trabajos con ACF [price], los precios oscilan entre 200 y 1048. Cuando utilizo un v铆nculo para filtrar valores, siempre obtengo valores> 1000.

Ejemplo:


<a href="#" 
 data-repeater="default"
 data-post-type="post"
 data-category="" 		 
 data-posts-per-page="8" 
 data-category--not-in="10"
 data-meta-key="price"
 data-meta-value="240"		 
 data-meta-compare="lessthan"
 data-meta-operator="NUMERIC"
 data-order="ASC"
 data-orderby="meta_value_num"		 
>Price is less than 240
</a>

Recibo publicaciones con 220, 224, 1001, 1048. Si cambio el rango de precios de las publicaciones de 1048 a 999, no aparecen en un filtro. Incluso si lo hago entre 1 y 200, todav铆a obtengo valores superiores a mil. Los valores de la base de datos est谩n limpios, sin caracteres. Pero si trato de obtener valores en c贸digo corto, funciona:


echo do_shortcode('[ajax_load_more post_type="post" meta_key="price" meta_value="240" meta_compare="lessthan" meta_type="NUMERIC" order="ASC" orderby="meta_value_num" posts_per_page="4" button_label="More Events"]');

驴Que me estoy perdiendo aqui? 馃檨

(@dcooney)

Hace 1 a帽o, 4 meses

@deiwee Prob茅 este atajo con WooCommerce _price campo personalizado y obras. Creo que podr铆a ser un problema con la forma en que se almacenan sus dominios.

Lanzador de hilos

(@deiwee)

Hace 1 a帽o, 4 meses

Hola, @dcooney, 隆gracias!

Despu茅s de ti:


add_filter('alm_debug', '__return_true');

Se encontr贸 que el tipo de meta_query era CHAR. Hubo un error en mi enlace ahref aqu铆:


data-meta-operator="NUMERIC" // Should be data-meta-type *facepalm*

Este error de trolling de este ejemplo Fecha de comparaci贸n
Creo:
meta_operator="DATE:DATE"
Deber铆a ser
meta_type="DATE"

Gracias de nuevo 馃檪

驴Solucion贸 tu problema??

0 / 0

Deja una respuesta 0

Tu direcci贸n de correo electr贸nico no ser谩 publicada. Los campos obligatorios est谩n marcados con *