Hmmm… looks like you have a few issues, but the one in question might be related to your archive.php file. Looks like you have an IF statement that has not be properly closed. Maybe you are missing curly braces or something. Can you show the code for that file?
Just as an FYI, Chrome gives the 500 server error, but Firefox just shows a white screen. This leads me to believe it’s a PHP error. That and the fact you have a PHP error in your log is pretty strong evidence 🙂
I was thinking the same thing… here’s the code to the archive.php file: http://pastebin.com/ypEDVzSD
Thanks so much for your help! I really need to learn to code…
Ok, the problem is you have this line:
if(is_archive() && have_posts()) :
but you never close it. That looks like the only issue. You just need to add:
<?php endif; ?>
Wherever you need to end your if statement. It’s interesting you have is_archive()
in that statement since you are on archive.php. Anyways, I didn’t look too much into what your code is doing, but that’s what’s breaking it. Fix that and your 500 error should go away.
Ok wait… so when I look at that part of the code, it seems like there are actually two <?php endif; ?>
pieces already. Where would I put another one? See this part of it:
<div id="pageHead">
<?php global $post; if(is_archive() && have_posts()) :
if (is_category()) : ?>
<h1><?php single_cat_title(); ?></h1>
<?php if(strlen(category_description()) > 0) echo category_description(); ?>
<?php elseif( is_tag() ) : ?>
<h1><?php single_tag_title(); ?></h1>
<?php elseif (is_day()) : ?>
<h1>Archive <?php the_time('M j, Y'); ?></h1>
<?php elseif (is_month()) : ?>
<h1>Archive <?php the_time('F Y'); ?></h1>
<?php elseif (is_year()) : ?>
<h1>Archive <?php the_time('Y'); ?></h1>
<?php elseif (isset($_GET['paged']) && !empty($_GET['paged'])) : ?>
<h1>Archive</h1>
<?php endif; ?>
<?php endif; ?>
</div>
That’s what I wasn’t sure of. It looks like you are starting the traditional WordPress loop with:
<?php global $post; if(is_archive() && have_posts()) :
And as far as I can see, that’s the one that’s never closed. Maybe move that line to right below:
<?php get_header(); ?>
And then add <?php endif; ?>
to right before the very last line, <?php get_footer(); ?>
. If it doesn’t look right, you can always move it around. But at least this way it’ll be error free.
So… I tried this but the category pages are giving me the same result. Here’s the new code: http://pastebin.com/ysCNKV3u
Does that look right? Do I maybe need to look somewhere else for the problem?
Show me the new error log
You know what, it’s late. Ignore my code. I think the only other issue you’re facing is this line (line 6 in pastebin):
<?php if(strlen(category_description()) > 0) echo category_description(); ?>
it’s missing a colon (:). Should look like:
<?php if(strlen(category_description()) > 0): echo category_description(); ?>
Hmm… ok it’s getting closer… the pages no longer show a server error, but they’re not correctly showing the archived posts. See here: http://www.12minuteathlete.com/recipes/
and here:
http://www.12minuteathlete.com/workouts/
They should appear the same as the home page. Any suggestions?
Oh wow, it just worked! Thanks so much for all your help!