2016-11-15 5 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:1ページに複数のスラッグが必要です(カスタム投稿ではありません)

、これらは

  • 出版-の-ijmsbr/2016から11/
  • 出版・オブなどの複数のリンクになります。この構造内でこのURLをしたいですijmsbr/2016から12/
  • 出版-の-ijmsbr/2017から01/

件のしかし、すべてのリンクが、これは私のカスタムページで 出版物・オブ・ijmsbr/

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

この1ページをロードする必要があります。私は自分のページにこれらのパラメータ(/ 2016-11 /、/ 2016-12 /)を取得したいと思います。

+0

flush_rewrite_rules()関数を呼び出すことを忘れないでください同じ – Firefog

+0

を行うしかし、私は、私はリダイレクトしたくないと述べます。私は複数のURLを1つのページを読み込む必要があります。 –

答えて

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を追加することができ、このような私たちのURLに割り当てます。 はリダイレクトプラグインを使用し

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'); 
関連する問題