Tribe__Events__Pro__Geo_Loc::add_routes( array $rules, bool $tribe_rewrite, WP_Rewrite $wp_rewrite = null )
Adds the rewrite rules to make the map view work.
Contents
Parameters
- $rules
-
(array) (Required) The current rewrite rules.
- $tribe_rewrite
-
(bool) (Required) Whether the rewrite rules are being generated by TEC.
- $wp_rewrite
-
(WP_Rewrite) (Optional) The WP_Rewrite object.
Default value: null
Source
File: src/Tribe/Geo_Loc.php
public function add_routes( $rules, $tribe_rewrite, $wp_rewrite = null ) {
// Prevent errors if this is used on and old version of TEC plugin.
if ( is_null( $wp_rewrite ) ) {
unset( $wp_rewrite );
global $wp_rewrite;
}
$tec = Tribe__Events__Main::instance();
$base = trailingslashit( $tec->rewriteSlug );
$baseTax = trailingslashit( $tec->taxRewriteSlug );
$baseTax = '(.*)' . $baseTax . '(?:[^/]+/)*';
$baseTag = trailingslashit( $tec->tagRewriteSlug );
$baseTag = '(.*)' . $baseTag;
$newRules = array();
/**
* Filters the rewrite slugs used to generate the geocode based rewrite rules.
*
* @param array $rewrite_slugs An array of rewrite slugs to use; defaults to [ 'map' ], the
* default geocode-based rewrite slug.
*/
$rewrite_slugs = apply_filters( 'tribe_events_pro_geocode_rewrite_slugs', array( $this->rewrite_slug ) );
foreach ( $rewrite_slugs as $rewrite_slug ) {
$newRules[ $base . $rewrite_slug ] = 'index.php?post_type=' . Tribe__Events__Main::POSTTYPE . '&eventDisplay=map';
$newRules[ $baseTax . '([^/]+)/' . $rewrite_slug . '/?$' ] = 'index.php?tribe_events_cat=' . $wp_rewrite->preg_index( 2 ) . '&post_type=' . Tribe__Events__Main::POSTTYPE . '&eventDisplay=map';
$newRules[ $baseTag . '([^/]+)/' . $rewrite_slug . '/?$' ] = 'index.php?tag=' . $wp_rewrite->preg_index( 2 ) . '&post_type=' . Tribe__Events__Main::POSTTYPE . '&eventDisplay=map';
}
return $newRules + $rules;
}