I want to use a category page as the home page of my blog. Is that possible and how can I do it? It tried it with a .htacces rewrite rule but that didn’t worked.
Leave a Reply
You must be logged in to post a comment.
I want to use a category page as the home page of my blog. Is that possible and how can I do it? It tried it with a .htacces rewrite rule but that didn’t worked.
You must be logged in to post a comment.
Update
Eliminating all of the other solutions, there is at least one remaining:
template_redirect
:You will need to pass the appropriate category
$id
, of course.The benefit of redirecting at
template_redirect
is that you only get one template-load taking place, rather than a second redirect after the template loads.Note that you can hook into the process even earlier, such as at
pre_get_posts
, thereby potentially saving an entire query request:Original Answer
If all you want to do is display a specific category on the blog posts index, you can accomplish that with a simple filter of the main
$wp_query
atpre_get_posts
:If you want to modify the template, then you can do one of two things:
home.php
with the desired markuptemplate_redirect
orhome_template
to force WordPress to include yourcategory.php
template.Edit
And if you want the blog posts index URL to look like:
Then you can use a Static Front Page, and assign a static page called “main” as your blog posts index.
And if this is your objective:
…then the accepted answer is correct for your use case.
Category page can’t be home page (just doesn’t work like that).
There are two other options:
Since you seem fine with redirect try following. Create
home.php
template in your theme directory with following content:There is probably some more tidy way to do this with hooks, but nothing I can think of right now.
The most semantic way to do this instead of using a redirect (extra connection time) is to create a custom page template.
new page:
just add a category filter into your index.php query in your template. simples
If you want to redirect to a particular category i.e category id 3
then copy the content from category.php and make another template like category-3.php
After that
In wordpress reading we need to set home as posts page and for home page select the New Homepage by Cat 3 as a template.