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