it-swarm.com.de

Benutzerdefinierter wp_query-Zeitfilter für meta_value

Mein Ziel ist es, nur Posts mit Öffnungszeiten außerhalb der Geschäftszeiten für einen bestimmten Tag anzuzeigen. So kann z.B. Ich habe einen (benutzerdefinierten) Beitrag mit folgenden Angaben zu meta_key und meta_value:

meta_key = 'Montag, meta_value = '14: 00 - 22:00'

Die Geschäftszeiten sind festgelegt: '08: 00 - 18:00 '

Ich möchte meiner benutzerdefinierten wp_query einen Filter hinzufügen. Nur stecke ich bei der Definition einer Funktion fest.

Meine Logikeingabe (definitiv nicht korrekt & vollständig) für die Funktion:

$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

Hilfe zu einer Funktion wird sehr geschätzt.

1
Henk Jan

Sie können WP query_posts verwenden, um nach Ihren benutzerdefinierten Werten zu filtern. Ein Beispiel:

query_posts('meta_key=my_type&meta_compare=<=&my_value=20&orderby=my_value');
if (have_posts()) :
while ( have_posts() ) : the_post();

Aber ich denke, Sie müssen die Zeit-Werte für lesbare Zeichenfolge ersetzen, möglicherweise mit der Strotime, dass Sie das gleiche Format für die Abfrage haben.

0
bueltge