私は私のブログのホームページとしてカテゴリページを使いたいです。それは可能ですか、そしてどのように私はそれをすることができますか?それは.htacces書き換え規則でそれを試みましたが、それはうまくいきませんでした。
他のすべての解決策を排除して、少なくとも1つの残りがあります: template_redirect
:
function wpse121308_redirect_homepage() {
// Check for blog posts index
// NOT site front page,
// which would be is_front_page()
if ( is_home() ) {
wp_redirect( get_category_link( $id ) );
exit();
}
}
add_action( 'template_redirect', 'wpse121308_redirect_homepage' );
もちろん、適切なカテゴリ$id
を渡す必要があります。
template_redirect
にリダイレクトすることの利点は、2回目のリダイレクトテンプレートのロード後)ではなく、1回のテンプレートロードのみが行われることです。
pre_get_posts
のように、もっと早くプロセスにフックすることができるので、クエリ要求全体を潜在的に節約することができます。
add_action( 'pre_get_posts', 'wpse121308_redirect_homepage' );
ブログ投稿インデックスに特定のカテゴリを表示するだけでよい場合は、メインの$wp_query
をpre_get_posts
の単純なフィルタで表示できます。
function wpse1862_pre_get_posts( $query ) {
// Only modify the main query
// on the blog posts index page
if ( is_home() && $query->is_main_query() ) {
$query->set( 'category_name', 'category-slug-here' );
}
}
add_action( 'pre_get_posts', 'wpse1862_pre_get_posts' );
template)を修正したい場合は、次の2つのうちの1つを実行できます。
home.php
を作成しますtemplate_redirect
またはhome_template
を使用して、WordPressにあなたのcategory.php
テンプレートを含めるよう強制します。ブログ投稿のインデックスURLを次のようにします。
www.example.com/main
それから Static Front Page を使用して、ブログ投稿インデックスとして "main"という静的ページを割り当てることができます。
そしてこれがあなたの目的であれば:
私は本当にリダイレクトが欲しいです。ホームページ(
http://example.com/
)をカテゴリページ(http://example.com/main/
のように見える)にリダイレクトしたい
...そして、受け入れられた答えはあなたのユースケースにとって正しいです。
カテゴリページをホームページにすることはできません(そのようには動作しません)。
他に2つの選択肢があります。
あなたはリダイレクトに問題がないように思われるので、以下を試してみてください。次のような内容で、テーマディレクトリにhome.php
テンプレートを作成します。
<?php
wp_redirect( 'http://www.yoursite.com/category/category-slug' );
?>
フックを使ってもっときちんとしたやり方があるかもしれませんが、今は考えられません。
リダイレクト(追加の接続時間)を使用する代わりにこれを行うための最も意味的な方法は、カスタムページテンプレートを作成することです。
新しいページ:
/* Template Name: New Homepage by Cat */
<?php query_posts('cat_id'=>'3');?>
<--insert loop-->
特定のカテゴリ、つまりカテゴリID 3にリダイレクトしたい場合は、category.phpからコンテンツをコピーして、category-3.phpのような別のテンプレートを作成します。
* Template Name: New Homepage by Cat 3*/
<?php query_posts('cat_id'=>'3');?>
<--insert loop-->
ワードプレスの読書では、投稿ページとしてホームページを設定する必要があり、ホームページではテンプレートとしてCat 3のNew Homepageを選択します。
テンプレートのindex.phpクエリにカテゴリフィルタを追加するだけです。単純な