Reverted to previous rewrite rules code then added optional parameter for member...
authorChuck Scott <cscott@gaslightmedia.com>
Fri, 14 Apr 2017 17:24:18 +0000 (13:24 -0400)
committerChuck Scott <cscott@gaslightmedia.com>
Fri, 14 Apr 2017 17:24:18 +0000 (13:24 -0400)
setup/frontHooks.php

index 0e404f7..4ed2b28 100644 (file)
  *  Also note that parameters will be in the context of the main front controller constructor.
   */
 
-// Setup rewrite for member detail page
+// Setup rewrite for member detail page - Now includes optional member_info ID (profile) parameter for multi-profile members
 add_filter( 'rewrite_rules_array', function($rules) {
     $newrules = array();
-    $newrules['('.$this->config['settings']['canonical_member_page'].')/([^/]*)/([^/]*)$']='index.php?pagename=$matches[1]&memberslug=$matches[2]&profile=$matches[3]';
-    if ( isset( $this->config['settings']['enable_multiple_profiles'] ) && $this->config['settings']['enable_multiple_profiles'] ) {
-        $newrules['('.$this->config['settings']['canonical_member_page'].')/([^/]*)$']='index.php?pagename=$matches[1]&memberslug=$matches[2]';
-    }
+    $newrules['('.$this->config['settings']['canonical_member_page'].')/([^/]*)/?([^/]*)?']='index.php?pagename=$matches[1]&memberslug=$matches[2]&profile=$matches[3]';
     return $newrules + $rules;
 });
 add_filter( 'query_vars', function($vars) {
     array_push($vars, 'memberslug');
-    if ( isset( $this->config['settings']['enable_multiple_profiles'] ) && $this->config['settings']['enable_multiple_profiles'] ) {
-        array_push($vars, 'profile');
-    }
+    array_push($vars, 'profile');
     return $vars;
 });
 add_action('wp_loaded', function() {
     $rules = get_option('rewrite_rules');
-    if ( !isset( $rules['('.$this->config['settings']['canonical_member_page'].')/([^/]*)$'] ) ||
-        ( ( isset( $this->config['settings']['enable_multiple_profiles'] ) && $this->config['settings']['enable_multiple_profiles'] ) && !isset( $rules['('.$this->config['settings']['canonical_member_page'].')/([^/]*)/([^/]*)$'] ) )
-    ) {
+    if ( ! isset( $rules['('.$this->config['settings']['canonical_member_page'].')/([^/]*)/?([^/]*)?'] ) ) {
         trigger_error('Doing rewrite flush - Member detail page', E_USER_NOTICE); // Logging that this is happening so we can track when that happens.
         global $wp_rewrite;
         $wp_rewrite->flush_rules();
     }
 });
 
-/*
+    /*
  * Add a filter to correct rel_canonical header entries
  *
  * This replaces the WordPress wp_head "rel_canonical" action hook and