追加のクエリ変数を使用した検索結果のかなりのパーマリンク
1 回答
- 投票
検索書き換えルールを変更するには、search_rewrite_rules
フィルターにフックします.投稿タイプに一致する追加の書き換えルールを自分で追加するか、デフォルトの「検索書き換え構造」を変更して投稿タイプも含めてから、ルールを再生成することができます(4つのルールがあります.1つは標準、もう1つはページング付きです).フィード用に2つ). WP_Rewrite::generate_rewrite_rules()
すべての「ディレクトリレベル」でルールを生成します./search/[keyword]/section/[post_type]/
、/search/[keyword]/section/
および/search/[keyword]/
.真ん中のルールは必要ありませんが、それを維持しても問題はありません.
add_filter( 'search_rewrite_rules', 'wpse15418_search_rewrite_rules' );
function wpse15418_search_rewrite_rules( $search_rewrite_rules )
{
global $wp_rewrite;
$wp_rewrite->add_rewrite_tag( '%post_type%', '([^/]+)', 'post_type=' );
$search_structure = $wp_rewrite->get_search_permastruct();
return $wp_rewrite->generate_rewrite_rules( $search_structure . '/section/%post_type%', EP_SEARCH );
}
ルールを確認するには、
To modify the search rewrite rules you can hook into the search_rewrite_rules
filter. You can either add the extra rewrite rules that match post types yourself, or you can change the default "search rewrite structure" to also include the post type and then re-generate the rules (there are four rules: one standard, one with paging and two for feeds). Because WP_Rewrite::generate_rewrite_rules()
generates rules at every "directory level", you will get rules for /search/[keyword]/section/[post_type]/
, /search/[keyword]/section/
and /search/[keyword]/
. You don't need the middle rule, but it won't hurt to keep it in.
add_filter( 'search_rewrite_rules', 'wpse15418_search_rewrite_rules' );
function wpse15418_search_rewrite_rules( $search_rewrite_rules )
{
global $wp_rewrite;
$wp_rewrite->add_rewrite_tag( '%post_type%', '([^/]+)', 'post_type=' );
$search_structure = $wp_rewrite->get_search_permastruct();
return $wp_rewrite->generate_rewrite_rules( $search_structure . '/section/%post_type%', EP_SEARCH );
}
To check the rules, use my Rewrite analyzer plugin.
wp_redirect
とtemplate_redirect
フックを使用して、追加のクエリ変数も含む検索URLをかなりのパーマリンクに書き換える方法を知りたいです.Nice Search プラグインからコードを取得しました.これは、
http://example.com?s=africa
をhttp://example.com/search/africa
に追加:ただし、選択ドロップダウンを Relevanssi プラグインと組み合わせて使用して、訪問者が検索を特定の投稿タイプ.これにより、
post_type
クエリ変数が追加されます.http://example.com?s=africa&post_type=features
.http://example.com/search/africa/section/features
のようなURLを設定したいと思います.Nice Searchコードを使用すると、post_typeクエリ変数が失われます.そこで、次のコードを試しました:
しかし、WordPressは検索語が
africa/section/features
であると見なすようになりました.検索語とクエリ変数をすべて適切なパーマリンクに保持する方法はありますか?
ありがとう サイモン