Support » Themes and Templates » Formatting Single Post/Comments page styles

  • Resolved DebT


    Can anyone tell me what “parts” and style sheet WP uses to create a single post/comments page? That’s where I’m stuck now, my styles are being ignored or overridden and I can’t figure out why. I see in the single post page <body class=”single single-post postid-1 single-format-standard”> so the page does not center like the rest of the site.

    Also if I could just know where to assign a new class for entry, post, etc. I can get the text confined to a smaller area so the right column shows the widgets.

    Sorry if I sound like an idiot, but I’m toast after struggling with this for 2 days. Time to retire, I can’t keep up any more.

Viewing 15 replies - 1 through 15 (of 15 total)
  • For a single post single.php is called. As you mentioned in your previous thread, you call a specific header.php for your blog. I believe you will need to do the same on your single.php file. Otherwise you are not going to get your special stylesheet that is referenced in your header-blog.php file.

    I could not call the header I’d made for the blog page, I could never get that to work. The single post is pulling in my default header, with a link to the style sheet I made. My problem is I can’t figure out how to get the single post entry to follow it’s own specific rule, rather than picking up the one made for the rest of the web pages. I’ll take another look inside single.php to see if there’s a way I can give it a unique div or class.

    And I still can’t figure out why the page is not centering, other than when I make a post the body tag mysteriously gets this class:

    <body class=”single single-post postid-1 single-format-standard”>

    I don’t know what to do with that. If I create a new class in my style sheet to fix the body formatting, what do I call it? Single? Single single-post? What’s the single-format-standard part ?

    All I want is for the post page to look like the blog page:

    You can edit the header.php to output a different header for single posts. You can do something like this:

    <?php if ( is_single($post) ) {
    // format header for single post pages
    else {
     // different header for other pages

    Note: $post is an optional argument. If you don’t specify $post, then the custom header will be displayed for all single posts of any post type.

    Another approach would be to have a separate header like one commentator said. You can create a separate header for single posts only by doing this:

    Insert this at the top of single.php:

    <?php get_header( $name ); ?>

    Now, you must include the parameter $name as $name is taken from the name part in the header-name.php file.

    That’s what I’ve been trying to do, for some reason I can’t get it to work. I’ve tried both of your suggestions above but can’t get either to work. FYI I have no programming experience and just manage to get by editing in WP.

    I’ve made a new header, header-single.php. Right now the only difference from header.php is I deleted some text from the right side of the header so I can tell if it’s loading.

    I put <?php get_header( ‘single’ ); ?> at the top of single.php . According to this I should put a space, single quote, name, single quote and space. I tried without the spaces, without the quote, tried adding the multi-header code to header.php and nothing is working. What am I doing wrong? I’ve been working on this for 3 days!

    <?php get_header( 'single' ); ?>

    is basically the same as

    <?php get_header('single'); ?>

    Is header-single.php in the same location as header.php?

    I know this can be frustrating, especially when you feel like you are out of your depth. I noticed you have this in your css:

    body {
    width: 1000px;
    margin-right: auto;
    margin-left: auto;
    margin: 0px;
    padding: 0px;

    Here is what is happening here. You assign the right margin a value of auto, then the left margin a value of auto, then you override all margin values and assign them to 0 (no centering). Please remove all but the margin and padding elements from the body selector. Then go to line 196 (which might change to 193 after deleting the lines out of the body selector) of your stylesheet and add this after .page:
    , .single

    It should not look like:

    .page, .single {

    This will center your single post page as well. Then go to line 220 which might be 217 after deleting the lines out of the body selector) on your style sheet and change the .entry selector from 650px to 65%

    Let us know how that works.

    Yes. Is there any chance single.php is not the page being used?

    DM I just saw your entry. I’ll get right on it.

    OMG I didn’t even notice the margin: 0px in the body style! I just made all the changes you recommended and IT WORKS! I’M DOING MY HAPPY DANCE! Thank you so much!!!!!!!!! I had just given up and was going to clean house, something I know I’m capable of, when I saw your post. You can’t imagine how happy this made me!

    I still don’t know why I couldn’t get the header stuff to work, but I don’t need it now. This is a HUGE weight off my mind.

    SO, main blog page:
    Single page:

    THANK YOU!!!

    Yay! Glad I could help.

    Ooops DM, I spoke too soon. Making the .entry selector to 65% fixed the single post page, but all the rest of my pages (with the exception of the main blog page) are now too narrow. I upped it to 90% to make the other pages look better, but I’m back to the issue of the single post page .entry running into that right column.

    That, and both the blog & single post pages don’t work in Internet Explorer 8. I’m on Mac and just booted up the old PC this morning and saw that.

    Keep forgetting to add the link:

    This is a dumb question, but if you can answer it I think it will solve my problem (aside from the IE problem).

    This is how .entry comes up on the single post page. The problem is with having a specific post number in there — can I put in a code that will be generic for the post numbers, so that any new posts will pick up this style?

    #post .outer_wrap .inner_wrap .content .flex_100 .flex_66 #post-1 .entry {
    width: 65%;

    I am pretty sure that you use the following it will set the css selector to a “generic” style to cover all posts:

    #post .outer_wrap .inner_wrap .content .flex_100 .flex_66 #post-* .entry {
    width: 65%;

    It might be kind of hard to see, so to point it out specifically, instead of #post-1 it now says #post-*

    Sorry, the previous post was done hastily and I apologize for that. I should have looked closer. So I did. here is what I found:

    You are over-running your css. Here is what I mean:

    At the top of your stylesheet are set, what I presume, are selectors to make your site “responsive” like: .flex_100, .flex_66, .flex_33, and more that are all set to percentage widths (making your website “flexible” by changing div widths to “automatically” fit on multiple sized screens (which is a good thing). Then later on (which overrides the previous) there are hard width settings like:

    .post, .type-post, .type-page {
    padding-top: 0px;
    padding-right: 0px;
    padding-bottom: 35px;
    padding-left: 0px;
    width: 700px; <– hard set over rides any previous flexible setting

    If you have set these when trying to get your site to work, you should go back and remove them, or comment them out (example: /* width: 700px;*/ ) so they are not lost if needed and refresh your screen to see if they are needed. If not, remove them completely. That should help with your overruns.

    Thank you again, I’ll will fix all of that and let you know how it goes. The flex stuff came with the template and had me completely confused.

    Well, I’d give up if I could. I’ve been working on this all afternoon (and all week). I don’t know if the drastic changes in the template (which I normally use) is throwing me off, or I’m just stupid.

    I’ve gone with a content width of 65% because if I go wider, the single post page doesn’t fit. That makes all my other page content in the site narrower, but I can live with that. The single post page is okay too, but now the main blog page throws the right column to the bottom, there’s a huge gap between the end of the Tags and the misplaced third column and I can’t figure that out either. Plus the black top border on the footer is missing on the blog & single post pages. From what I can see, the footer on those pages starts right under the header, maybe the border is sitting on top of the one under navigation, which completely blows my mind. Of course the two blog pages are messed up in Internet Explorer. But in a different way. – rt column won’t fit – you can see the border here

Viewing 15 replies - 1 through 15 (of 15 total)
  • The topic ‘Formatting Single Post/Comments page styles’ is closed to new replies.