get('post_type') == 'sermons') {
$dates = explode(' - ', $_GET['sermon_dates']);
$query->set('date_query', array(
'relation' => 'AND',
array(
'before' => isset($dates[1]) ? $dates[1] : '',
'inclusive' => true,
),
array(
'after' => isset($dates[0]) ? $dates[0] : '',
'inclusive' => true,
),
));
}
if ((!empty($_GET['sermon_series']) || !empty($_GET['sermon_speaker']) || !empty($_GET['sermon_book']) || !empty($_GET['sermon_topics'])) && !is_admin() && $query->get('post_type') == 'sermons') {
$taxonomies_query = [];
if (!empty($_GET['sermon_series'])) {
$taxonomies_query[] = [
'taxonomy' => 'sermon_series',
'field' => 'slug',
'terms' => $_GET['sermon_series']
];
}
if (!empty($_GET['sermon_speaker'])) {
$taxonomies_query[] = [
'taxonomy' => 'sermon_speaker',
'field' => 'slug',
'terms' => $_GET['sermon_speaker']
];
}
if (!empty($_GET['sermon_book'])) {
$taxonomies_query[] = [
'taxonomy' => 'sermon_book',
'field' => 'slug',
'terms' => $_GET['sermon_book']
];
}
if (!empty($_GET['sermon_topics'])) {
$taxonomies_query[] = [
'taxonomy' => 'sermon_topics',
'field' => 'slug',
'terms' => $_GET['sermon_topics']
];
}
$query->set('tax_query', array(
'relation' => 'AND',
$taxonomies_query,
));
}
return $query;
});
// Enables block editor if option is toggled on. Added Advanced Sermons 3.1
$asp_general_block_editor = get_option('asp_general_block_editor');
if (!empty($asp_general_block_editor)) {
// Modify post type arguments for REST API support
add_filter('register_post_type_args', 'asp_modify_post_type_args', 10, 2);
function asp_modify_post_type_args($args, $post_type) {
if ($post_type == 'sermons') {
$args['show_in_rest'] = true;
}
return $args;
}
// Modify taxonomy arguments for REST API support
add_filter('register_taxonomy_args', 'asp_modify_taxonomy_args', 10, 2);
function asp_modify_taxonomy_args($args, $taxonomy) {
$supported_taxonomies = ['sermon_series', 'sermon_speaker', 'sermon_topics', 'sermon_book'];
if (in_array($taxonomy, $supported_taxonomies)) {
$args['show_in_rest'] = true;
}
return $args;
}
}