From 4b94359bf4e8fc112988afec001fc3d79172f217 Mon Sep 17 00:00:00 2001 From: Chuck Scott Date: Wed, 6 Jul 2016 16:58:13 -0400 Subject: [PATCH] Cleaned up shortcode description data. Added code in frontHooks to do canonical URL cleanup for event-detail pages --- setup/frontHooks.php | 29 +++++++++++++++++++++++++++++ setup/shortcodes.php | 2 -- 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/setup/frontHooks.php b/setup/frontHooks.php index 54492e2..ec30ef9 100644 --- a/setup/frontHooks.php +++ b/setup/frontHooks.php @@ -45,6 +45,35 @@ if ( ! isset( $rules['('.$this->config['settings']['canonical_event_page'].')/([ } +/* + * Event Detail Page Canonical URL Fix + * + * Since the event detail pages are actually all the same page, and since WordPress has a specific + * canonical URL for that page, we need to override the rel='canonical' value in the page header. + * + * The code below checks if we're on a event detail page and if so returns the event slug so that + * can be added to the URL. The matching apply_filters is in the main plugin in setup/frontHooks.php. + */ +add_filter('glm_rel_canonical_slug', function($detailSlug) { + + // If another add-on already supplied the detail slug, then just return that. + if ($detailSlug != false) { + return $detailSlug; + } + + // Check if the page is a event-detail page use the correct + if (strpos(GLM_MEMBERS_PLUGIN_CURRENT_URL, $this->config['settings']['canonical_event_page']) > 0) { + + // Parse out only the event slug and use that + $m = array(); + preg_match('|.*/'.$this->config['settings']['canonical_event_page'].'/([^/]*).*|', GLM_MEMBERS_PLUGIN_CURRENT_URL, $m ); + $detailSlug = $m[1]; + + } + + return $detailSlug; +}); + // Add eventslug query var add_filter('query_vars', function($vars) { array_push($vars, 'eventslug'); diff --git a/setup/shortcodes.php b/setup/shortcodes.php index d413696..0b17350 100644 --- a/setup/shortcodes.php +++ b/setup/shortcodes.php @@ -129,7 +129,6 @@ $glmMembersEventsShortcodes = array( ); $glmMembersEventsShortcodesDescription = ' - @@ -152,6 +151,5 @@ $glmMembersEventsShortcodesDescription = ' Adds an event submission form to the page. -
ShortcodeAttributeDescription
[glm-members-event-list]
'; -- 2.17.1