Suche nach Meta-Abfrage

Ich baue eine WordPress-Site mit einer Event-function. Die Ereignisseite wurde mit benutzerdefinierten Beitragstypen erstellt.

Ich möchte es Leuten ermöglichen, Ereignisse nach Daten zu suchen / zu filtern. Sie können beispielsweise nach allen Ereignissen zwischen dem 2. Dezember 2011 und dem 1. März 2012 suchen und Ergebnisse von Ereignissen erhalten, deren Datum zwischen Dezember und März liegt (dh Dezember, Januar, Februar und März).

Ich möchte den besten Weg wissen, um das zu erreichen. Irgendwelche Ideen?

Sie können ein Beispiel dafür sehen, was ich erreichen möchte, indem Sie auf dieser Seite http://www.londontown.com/events die function “Ereignisse nach Datum suchen” betrachten

Hier ist der Code für die Anfangs- und Enddatum-Metaboxen:

  $ Präfix = 'Ghes_';

 add_filter ('ghes_meta_boxes', 'ghes_sample_metaboxes');

 function ghes_sample_metaboxes ($ meta_boxes) {

     globales $ Präfix;

     $ meta_boxes [] = Array (
         'id' => 'event_meta',
         'title' => 'Ereignis Metabox',
         'pages' => array ('event'), // Beitragstyp
         'Kontext' => 'normal',
         'Priorität' => 'hoch',
         'show_names' => wahr,
         'Felder' => Array (


         Array (
                 'name' => 'Startdatum des Ereignisses',
                 'desc' => 'Feldbeschreibung (optional)',
                 'id' => $ Präfix.  'event_start_timestamp',
                 'typ' => 'text_datum_zeitstempel'
             ),

         Array (
                 'name' => 'Enddatum des Ereignisses',
                 'desc' => 'Feldbeschreibung (optional)',
                 'id' => $ Präfix.  'event_end_timestamp',
                 'typ' => 'text_datum_zeitstempel'
             )

So werden die Datumsdaten gespeichert:

case 'text_date_timestamp': echo '', $field['desc'], ''; break; 

Und das habe ich für mein Suchfeld:

 <form action="" method="get" id="searchform" class="form_search"> Event Search:   Select... <?php $theterms = get_terms('event_cat', 'orderby=name'); foreach ($theterms AS $term) : echo "slug."'".($_GET['event_cat'] == $term->slug ? ' selected="selected"' : '').">".$term->name."\n"; endforeach; ?>     : '   '    <input type="hidden" name="_wpnonce" value="" /> <input type="submit" value="" class="em-events-search-submit" />  

Wie erhalte ich das Formular, um die “Datumssuche” -Daten zu verarbeiten und die Ergebnisse zwischen den vom Benutzer ausgewählten Daten anzuzeigen?

Fehlt dem Suchformular irgendetwas? Muss ich der functions.php etwas hinzufügen, damit dies funktioniert?

Ich habe jetzt seit fast zwei Wochen nach einer Antwort gesucht und möchte wirklich lernen, wie das funktioniert. Bitte teilen Sie Ihre Gedanken, wenn Sie eine Idee haben, wie Sie dies zur Arbeit bringen können.

Danke im Voraus.

Solutions Collecting From Web of "Suche nach Meta-Abfrage"

Sie sollten in meta_query schauen:

 $args = array( 'meta_query' => array( 'key' => 'event_start_timestamp', // the name of the meta 'value' => '11/21/2011', // the value to search for 'compare' => '>=', //search for start dates bigger or equal to value ) ); $query = new WP_Query( $args );