Hallo Wordpress-Freunde,
ich habe eine Personen-Datenbank, deren Einträge ich nach dem Alter der Personen mittels meta_query filtern möchte. Jeder Person habe ich benutzerdefinierte Felder mit Geburts- und Sterbedatum zugewiesen. Bei lebenden Personen z.B. 1964-02-15 und 0000-00-00, bei verstorbenen Personen z.B. 1940-05-20 und 1999-06-25.
Ich habe die Ausgabe auf meiner alten Homepage direkt mit SQL gemacht und dort über Timestampdiff(YEAR, geburtsdatum, sterbedatum) bereits im SELECT-Befehl bequem nur die entsprechenden Personen eines Alters herausfiltern können.
Für meine neue Homepage möchte ich gern mit wp_query bzw. meta_query arbeiten, tue mich aber mit der Umsetzung etwas schwer, da ich irgendwie die unterschiedlichen keys und values unter einen Hut bringen muss.
Die Ausgabe der lebenden Personen ist kein Problem. Um z.B. alle 55jährigen auszugeben, lautet der Code folgendermaßen:
$start = date( 'Y-m-d', strtotime( '-56 years +1 day', time() ) );
$end = date( 'Y-m-d', strtotime( '-55 years', time() ) );
$args = array('post_type' => 'person',
'meta_query' => array(
array(
'relation' => 'AND',
array('key' => 'geburtsdatum',
'value' => array($start, $end),
'compare' => 'BETWEEN',
'type' => 'DATE'),
)));
$alter = new WP_query( $args );
Alles anzeigen
Wenn ich nun jedoch bereits verstorbene Personen ausgeben möchte, benötige ich den Inhalt des benutzerdefinierten Feldes 'sterbedatum'. Dieser liegt mir vor dem Filtern jedoch noch nicht vor. So kann ich die Variable $end nicht befüllen, bzw. das würde ja wohl auch nicht gehen, da ja nur das Feld 'geburtsdatum' abgefragt wird.
Kann mir jemand sagen, wie ich das Alter einer verstorbenen Person mittels des Inhalts zweier verschiedener keys und deren values ermitteln kann? Idealerweise wäre die meta_query so angelegt, dass ich in der Ausgabeliste sowohl die lebenden wie auch die verstorbenen Personen im Alter von 55 Jahren erhalte.
Für eure Hilfe schon mal im voraus ganz herzlichen Dank :-)
Andreas