it-swarm.com.de

erhalten Sie Beiträge, die die Abfrage ändern

ich muss die Beiträge in taxonomy.php Seite ändern. Ich habe einen meta_key, den ich mit dem meta value vergleichen möchte. Aber momentan gibt mein Code nichts zurück. Ich bin mir sicher, dass mir etwas fehlt. Bitte lassen Sie mich wissen, was ich falsch mache!

add_action('pre_get_posts', 'add_event_date_criteria');
function add_event_date_criteria(&$query)
{
    // We only want to filter on "public" pages
    // You can add other selections, like here:
    //  - Only on a term page for our custom taxonomy
    if (!is_admin() &&
        is_tax('event-tag') || is_tax('event-category')) {
        $query->set('meta_key', 'start_time');
        $query->set('meta_compare', '>=');
        $query->set('meta_value', time());
        $query->set('meta_key', 'start_time');
        $query->set('orderby', 'meta_value_num');
        $query->set('order', 'ASC');
    }

}
2
Sisir

Versuchen Sie es mit dem Parameter meta_query:

add_action('pre_get_posts', 'add_event_date_criteria');
function add_event_date_criteria(&$query)
{
    // We only want to filter on "public" pages
    // You can add other selections, like here:
    //  - Only on a term page for our custom taxonomy
    if (!is_admin() &&
        is_tax('event-tag') || is_tax('event-category')) {
        $time = time();
        $meta = array(
            array(
            'key' => 'start_time',
            'value' => $time,
            'compare' => '>='
            )
        );
        $query->set('meta_query',$meta );
        $query->set('meta_key', 'start_time');
        $query->set('orderby', 'meta_value_num');
        $query->set('order', 'ASC');
    }
}

außerdem müssen Sie sicherstellen, dass Ihr Meta-Feld start_time in der Anzahl von Sekunden seit der Unix-Epochen-like-time () -Funktion gemessen und gespeichert wird.

6
Bainternet