meta query - markhowellsmead/helpers GitHub Wiki
See also tax_query.
Make sure that the array is two levels deep.
Get posts by meta key
'meta_query' => [
[
'key' => 'sht_related_teammember',
'value' => $teammember_id,
'compare' => '=' // optional if 'equals'
]
],
Only posts which have start date today or in the future
Add with pre_get_posts
action. Usage of wp_date
requires WP 5.3.0+.
public function checkStartDate($query)
{
if (!is_admin() && isset($query->query_vars['post_type']) && $query->query_vars['post_type'] === 'sht_event') {
$meta_query = $query->get('meta_query');
if (!is_array($meta_query)) {
$meta_query = [];
}
$meta_query[] = [
[
'key' => 'start-date',
'compare' => '>=',
'value' => wp_date('Y-m-d'),
'type' => 'DATE'
]
];
$query->set('meta_query', $meta_query);
}
}
Current and future events
$meta_query = $query->get('meta_query');
if (!is_array($meta_query)) {
$meta_query = [];
}
$meta_query = [
'relation' => 'OR',
[
'key' => 'date_to',
'value' => time(),
'compare' => '>'
],
[
'relation' => 'OR',
[
'key' => 'date_to',
'compare' => 'NOT EXISTS'
],
[
'key' => 'date_from',
'value' => time(),
'compare' => '>='
]
]
];
$query->set('meta_query', $meta_query);