フロントページに静的ページを使用しています。カスタムテンプレートです。私のカスタムテンプレートでは、WP_Query()を使って投稿のリストを表示しています。私は私の投稿で使用する "タイプ"と呼ばれるカスタム分類法もあります。
私はadd_rewrite_rule()を使用して http://example.com/types/example を私の静的フロントページにリダイレクトします。私の書き換えは次のようになります。
add_rewrite_rule('^types/([^/]*)/?', 'index.php?page_id=24&type=$matches[1]', 'top');
書き換えは「うまくいきます」が、 http://example.com にリダイレクトします。 wordpressで静的フロントページを無効にした場合、リダイレクトは完全に機能します。
Add_rewrite_rule()をwordpressの静的フロントページで使用することは可能ですか?
このスレッドで解決策を見つけました: デフォルトのホームが静的ページに書き換えられないようにする方法
フロントページの正規リダイレクトを無効にするだけです。
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' );