2016-03-09 69 views
1

我做一個自定義WordPress的重寫與下面的代碼:WordPress的add_rewrite_rule重定向頁面,如果是起始頁

function add_rewrite_rules() { 
    add_rewrite_rule(
     '^mypath/([A-z0-9\-\_\,]+)/?$', 
     'index.php?page_id=2&tags=$matches[0]', 
     'top' 
    ); 
} 
add_action('init', 'add_rewrite_rules'); 

這工作得很好: 當我打開/mypath/tag1,tag2,tag3/顯示與PAGE_ID == 2頁,GET參數tags包含tag1,tag2,tag3。 路徑保持/mypath/tag1,tag2,tag3/

但有一個例外: 當與page_id==2頁面標記爲WordPress的起始頁,然後他忘記了一切,並重定向到/

WordPress的似乎重定向到WP_HOME,如果頁面是首頁,但我希望它保持在/mypath/tag1,tag2,tag3/,因爲我想加載我的首頁並在角度腳本中使用tags參數。

有人有一個想法,我可以如何防止此重定向?

回答

1

發現自己在這個線程解決方案: https://wordpress.stackexchange.com/questions/184163/how-to-prevent-the-default-home-rewrite-to-a-static-page

只是禁用規範重定向頭版:

function disable_canonical_redirect_for_front_page($redirect) { 
    if (is_page() && $front_page = get_option('page_on_front')) { 
     if (is_page($front_page)) 
      $redirect = false; 
    } 

    return $redirect; 
} 
add_filter('redirect_canonical', 'disable_canonical_redirect_for_front_page');