Bart SalléFreelance webdeveloper Plan een gesprek
Wordpress

Advanced Custom Fields; standaard WordPress loop aanpassen door middel van een filter

Advanced Custom Fields; standaard WordPress loop aanpassen door middel van een filter

Via onderstaand stukje code heb ik de loop voor de Custom Post Type ’trainingsdata’ aangepast. Deze wordt nu gesorteerd op een advanced custom field, genaamd ‘datum’. Daarnaast toon ik alleen items die in de toekomst liggen via een extra meta query:

// Andere sortering voor CPT trainingsdata frontend
function my_pre_get_posts( $query ) {
    // pas de query niet aan voor de backend
    if( is_admin() ) {
        return $query;
    }
    // pas alleen de query aan voor custom post type 'trainingsdata'
    if( isset($query->query_vars['post_type']) && $query->query_vars['post_type'] == 'trainingsdata' ) {
    // Filter op Advanced Custom Field 'datum'
    $query->set('orderby', 'meta_value');
    $query->set('meta_key', 'datum');
    $query->set('order', 'Asc');
    // Toon alleen items die in de toekomst liggen
    $today = current_time('Ymd');
    $meta_query[] = array(
        'key'       => 'datum',
        'value'     => $today,
        'compare'   => '>=',
    );
    $query->set('meta_query', $meta_query);
}
// return
return $query;
}

add_action('pre_get_posts', 'my_pre_get_posts');
Vraag advies over dit onderwerp
Bricks Builder

Maak een rollover productafbeelding zonder plugin te gebruiken

4 november 2024 Lees meer
Algemeen

Ik wil web developer worden maar welke opleiding of cursus kan ik dan het beste volgen?

25 september 2022 Lees meer
PHP

Class gebruiken in een WordPress plugin

9 oktober 2021 Lees meer