filtro de tiempo personalizado WP_Query en meta_value
Pregunta
Mi objetivo es mostrar solamente los mensajes con horarios fuera del horario laboral, para un día determinado. Así, por ejemplo, Tengo un poste (personalizado) con los siguientes meta_key y meta_value:
meta_key = 'Lunes, meta_value = '14: 00 - 22:00'
Las horas de oficina son fijos: 08: 00 - 18:00'
Me gustaría añadir un filtro a mi WP_Query personalizado. Solamente, que estoy recibiendo atascado en la definición de una función.
Mi entrada lógica (definitivamente no es correcta y completa) para la función:
$from_std = strtotime("08:00");
$to_std = strtotime("18:00");
$open = $my_meta['monday'];
list($from, $hyphen, $to) = explode(' ', $open);
$from_bus = strtotime($from);
$to_bus = strtotime($to);
if ($from_bus < $from_std) { $show = 1; } // before standard starting time - so SHOW
else {if ($to_bus > $to_std) { $show = 1; }} // after standard closing time - so SHOW
if (empty($from_bus)) { show = 0; } // $var is either 0, empty, or not set at all - so do NOT show
Ayuda de una función es muy apreciada.
Solución
Puede utilizar los query_posts WP para filtrar sobre sus valores personalizados; ejemplo ean:
query_posts('meta_key=my_type&meta_compare=<=&my_value=20&orderby=my_value');
if (have_posts()) :
while ( have_posts() ) : the_post();
Sin embargo, creo que se debe reemplazar los valores de tiempo para la cadena legible, tal vez strotime valió la pena, que tiene el mismo formato para la consulta.