pre obtener publicaciones cambiando la consulta

2

Necesito cambiar las publicaciones en la página taxonomy.php. Tengo una meta_key que quiero comparar con el valor meta. Pero actualmente mi código no está devolviendo nada. Estoy seguro de que me estoy perdiendo algo. ¡Por favor, hágame saber lo que estoy haciendo mal!

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');
    }

}
    
pregunta Sisir 05.04.2011 - 22:11

1 respuesta

6

Intente usar el parámetro 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');
    }
}

también debe asegurarse de que su meta campo start_time se mide y se guarda en el número de segundos desde la función time () de Unix Epoch.

    
respondido por el Bainternet 05.04.2011 - 23:10

Lea otras preguntas en las etiquetas