2016-11-15 52 views
0

我正在創建一個插件。我想在URL中傳遞參數,或者可以說我希望同一頁面有多個URL(但這會加載相同的頁面不是重定向)。 例如: http://www.ijmsbr.boxysolutions.com/publications-of-ijmsbr/?data=2016-11 我希望這個網址在這個結構中 http://www.ijmsbr.boxysolutions.com/publications-of-ijmsbr/2016-11/WordPress的:所需的單個頁面的多個S((非自定義文章)

而這些會像

  • 出版物-的-ijmsbr/2016-11/
  • 出版物-OF-多個鏈接ijmsbr/2016-12/
  • publications-of-ijmsbr/2017-01/

個但各個環節應加載此一頁 出版物-的-ijmsbr/

http://www.ijmsbr.boxysolutions.com/publications-of-ijmsbr/

這是我的自定義頁面。我想在我的頁面上獲取這些參數(/ 2016-11 /,/ 2016-12 /)。

+0

使用重定向插件會做同樣的 – Firefog

+0

,但我說我不想重定向。我想要多個網址加載一個網頁。 –

回答

0

解決


首先,我們將添加過濾器設置查詢變量。請記住,每次在陣列中添加新變量時,您都必須致電flush_rewrite_rules()。一旦你運行flush_rewrite_rule函數後,你可以評論或刪除這一行。

function themeslug_query_vars($qvars) { 
$qvars[] = 'jm_volume'; 
$qvars[] = 'jm_art_id'; 
$qvars[] = 'jm_author'; 
//flush_rewrite_rules(); 
return $qvars; 
} 
add_filter('query_vars', 'themeslug_query_vars' , 10, 1); 

查詢變量的註冊後,我們可以添加add_rewrite_rules,並分配給我們的網址是這樣的。 記得撥打flush_rewrite_rules()函數

function add_rewrite_rules($aRules) { 
$aNewRules = array(
    'publications-of-ijmsbr/article/(.*)?' => 'index.php?pagename=publications-of-ijmsbr&jm_art_id=$matches[1]', 
    'publications-of-ijmsbr/author/(.*)?' => 'index.php?pagename=publications-of-ijmsbr&jm_author=$matches[1]', 
    'publications-of-ijmsbr/(.*)?' => 'index.php?pagename=publications-of-ijmsbr&jm_volume=$matches[1]' 
); 
$aRules = $aNewRules + $aRules; 
//flush_rewrite_rules(); 
return $aRules; 
} 
add_filter('rewrite_rules_array', 'add_rewrite_rules'); 
相關問題