Support » Themes and Templates » Category Page

Category Page

  • Hi there,

    I wish to create a kind of “Sublog” as a page, which ONLY shows the posts that have the “Movie Reviews” tag. I’ve read a few explanations on the internet but I can’t quite grasp what I’m supposed to do.

    I’ve copied the page.php and renamed it to sublog.php, I’ve then created a new page using the “Sublog”.php template but it returns a black page with only the title “Movie Reviews” and no posts, so I don’t know where to start so that I can tell it to ONLY shows posts with the “Movie Reviews” tag.

    Please help, or I’m going to go mental.

Viewing 15 replies - 1 through 15 (of 24 total)
  • By the way, this is the code I have so far for my “Sublog” template, which I want to show ONLY posts with the tag “Movie Reviews”, just as posts are displayed on the homepage.

    Template Name: Sublog
    <?php get_header(); ?>

    <div class="content">

    <div class="primary">

    <div class="item">

    <div class="pagetitle">
    <h2 id="post-<?php the_ID(); ?>"><a>" rel="bookmark" title='Permanent Link to "<?php the_title(); ?>"'><?php the_title(); ?></a></h2>
    <?php edit_post_link('<img src="'.get_bloginfo(template_directory).'/images/pencil.png" alt="Edit Link" />', '<span class="editlink">', '</span>'); ?>



    <?php get_sidebar(); ?>


    <?php get_footer(); ?>

    Pages and Categories are different things. Don’t mix them.
    What you need is a category template > http://codex.wordpress.org/Category_Templates

    Moshu, I’ve already searched and found that page. It does exactly what I want but I just don’t get it. Maybe it’s ’cause it’s 4am and I’m tired but it just sounds like a load of mixed information.

    I want a page called “Movie Reviews”, when the user clicks that I want the page to show all posts with the tag “Movie Reviews”. Can you tell me what to do to acheive that, because that page takes a simple question, and turns it into a complicated answer.

    I want a page called “Movie Reviews”

    If you meant a Page (made in Write > Write Pages) that’s the problem. Catgeory templates are NOT pages. You don’t see the category templates in the “Page Templates” dropdown.
    They have their own life 🙂 and are recognized by WP.

    Let’s say, your movies category has the ID# 7… you create a template file category-7.php.
    The easiest way to do it: save your archive.php file as category-7.php. You can edit the file, you can even have a different layout (define its style in the stylesheet) and
    having a link to cat=7 will display this “category archive” on it’s own template.

    Ok, I understand, but how do I create the link in the menu, if I don’t use “Manage Pages > Write Page”? And how do I view the file once it’s created, so that I can start editing it?

    Are you saying it’s not possible to create a new page link in the menu, which shows only posts of one category?

    Edit: I have now copied the archives file and renamed it “category-4” … what to do now is the confusing part.

    The way I’ve done it was simply to create a new category called Movie Reviews. I then edited all movie review posts by checking the category marked movie reviews, hey presto -a new category, link and page containing only movie reviews.

    Unless I’m missing what you trying to do.

    You could also make this a child category to parent category if you want it to appear in another cat as well.

    Yes, that’s that I want. But I want the title “Movie Reviews” to be displayed in the menu, not in the sidebar and, also, I don’t want the movie review posts to appear on the main blog.

    1. You can exclude any category from showing up in the sidebar menu. Just read about the parameters of the template used for displaying your categories.
    2. I don’t know what your “menu” is – I assume is a horizontal list on the top; you can always add anything to it manually 😉
    3. There are plugins that can exclude posts from certain categories from being displayed on your main page.
    e.g. http://ryowebsite.com/?p=46

    not sure what you mean by the first half (possibly you may need to add the title to your category template and add an if statement to your sidebar file so it doesn’t show?)

    the 2nd half of that is a job for query_posts(). more info at http://codex.wordpress.org/Template_Tags/query_posts

    edit: moshu – whats the difference between that plugin and query_posts?

    This is how I have done something similar for a client. They post job vacancies as news posts, but they also wanted a page in the top-level page menu called Jobs. So the job listings, while really posts and so available via the category link, also show up on a page. What you need to do is create a template for the page, then create a blank page in WordPress and tell it to use your template. In the template you then override the query_posts argument.

    Template Name: Movie Reviews
    $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
    query_posts("paged=$paged&category_name=Movie Reviews");
    load_template( TEMPLATEPATH . '/index.php'); //loads index

    Note that I’ve used the index.php file for displaying all the posts in a Movie Reviews category, but you can load any template you like. If you had created a special category-#.php file you could load that instead, and then your Movie Reviews page would look the same whether someone followed the category link or the link in your main menu.

    Does that help?

    Best, Darren

    Usually, it is easier for users to activate a plugin than to mess around with template files, Loop and code 🙂

    DZR, that works perfectly. If you were a woman, I would MARRY YOU! hahaha

    One more thing, how do I change the title of this new page? Currently it is:

    “Archive for the ‘Movie Reviews’ Category”

    … and I simply wants:

    “Movie Reviews”

    I’m not sure how to override it. Sorry for seeming like a n00b. I know how to write PHP, but I’ve never used WordPress before so it’s all new to me.

    Nevermind. I created a copy of index.php and saved it as moviereviews.php, then told the script to load that as the template. Then I put the Loop code inside moviereview.php and now I’m editing that to get the results I want.

    Thanks a lot for all your help; now I just need to exclude all “Movie Review” categorys from the main blog.

    Thanks again,



    I, on the other hand, do not know PHP from the IRS =-)

    Slight exaggeration but, really, I am truly a noob so I was wondering if you would be willing to share the code for your moviereviews.php file.

    I also followed moshu’s post and have a “Videos Category” page set up of which I would like to change the title.

    As for “my part” – if you followed my posts and have a category template (either catgeory.php or catgeory-XY.php) then open it to edit in a text editor and find what is displaying its title. Usually it is on the top.

Viewing 15 replies - 1 through 15 (of 24 total)
  • The topic ‘Category Page’ is closed to new replies.