2016-04-14 32 views
0

WordPress Webサイトのページに書き換え規則を適用しようとしています。WordPress - add_rewrite_rule()を動作させることができません

というページがあり、カスタムテンプレートがあり、IDはです。現時点で

が、私はそうのようなクエリ文字列に基づいていくつかの動的な要求を作っています:

example.com/latest/?type=instagram

私が代わりにありたいと思いますどのような:

example.com/latest/instagram/

これまで私が試したことは次のとおりです。

のfunctions.php

function custom_rewrite_tag() { 
    add_rewrite_tag('%type%', '([^&]+)'); 
} 

add_action('init', 'custom_rewrite_tag', 10, 0); 

function custom_rewrite_rule() { 
    add_rewrite_rule('^latest/([^/]*)/([^/]*)/?','index.php?page_id=10&type=$matches[1]', 'top'); 
} 

add_action('init', 'custom_rewrite_rule', 10, 0); 

私はここで見つけるガイド以下の通りであった:私の人生のために https://codex.wordpress.org/Rewrite_API/add_rewrite_rule

、私はこれを動作させることはできません。それは単に私の404ページに転送するか、タイプパラメータと一致するタイトルの種類がの投稿を見つけることを試み、私をリダイレクトします。

私が間違っていることについての手掛かりはありますか?私はpermalinksもリフレッシュしました。

+0

実際には、[add_rewrite_endpoint](https://codex.wordpress.org/Rewrite_API/add_rewrite_endpoint)が必要です。 –

+0

@cale_bありがとうございます - これを使った例はありますか? –

答えて

0

私は書き換えルールに余分なパスがあります。

の代わりに:'^latest/([^/]*)/([^/]*)/?'それがされている必要があります。次のようにfunctions.php'^latest/([^/]*)/?'

私の新しい仕事関数は次のとおりです。

function custom_rewrite_rule() { 
    add_rewrite_tag('%type%', '([^&]+)'); 
    add_rewrite_rule('^latest/([^/]*)/?', 'index.php?page_id=10&type=$matches[1]', 'top'); 
} 

add_action('init', 'custom_rewrite_rule', 10, 1); 

希望これは、将来的に誰かを助けます!

関連する問題