tags:

views:

185

answers:

5

I keep getting a error - Parse error: syntax error, unexpected $end in ... on line 75, but everything looks fine to me.

<?php get_header(); ?>
            <div id="content-top">
                <div class="title">
                    <h2>Welcome!</h2>
                </div>
            </div>
            <div id="content">

                <div class="contentbox">
                    <?php get_sidebar(); ?>
                    <?php if (have_posts()) : ?>

                          <?php if (have_posts()) : while (have_posts()) : the_post(); ?>

                                <div class="post" id="post-<?php the_ID(); ?>">
                                    <h2><a href="<?php echo get_permalink($post->post_parent); ?>" rev="attachment"><?php echo get_the_title($post->post_parent); ?></a> &raquo; <?php the_title(); ?></h2>
                                    <div class="entry">
                                        <p class="attachment"><a href="<?php echo wp_get_attachment_url($post->ID); ?>"><?php echo wp_get_attachment_image( $post->ID, 'medium' ); ?></a></p>
                                        <div class="caption"><?php if ( !empty($post->post_excerpt) ) the_excerpt(); // this is the "caption" ?></div>

                                        <?php the_content('<p class="serif">Read the rest of this entry &raquo;</p>'); ?>

                                        <div class="navigation">
                                            <div class="alignleft"><?php previous_image_link() ?></div>
                                            <div class="alignright"><?php next_image_link() ?></div>
                                        </div>
                                        <br class="clear" />

                                        <p class="postmetadata alt">
                                            <small>
                                                This entry was posted on <?php the_time('l, F jS, Y') ?> at <?php the_time() ?>
                                                and is filed under <?php the_category(', ') ?>.
                                                <?php the_taxonomies(); ?>
                                                You can follow any responses to this entry through the <?php post_comments_feed_link('RSS 2.0'); ?> feed.

                                                <?php if (('open' == $post-> comment_status) && ('open' == $post->ping_status)) {
                                                    // Both Comments and Pings are open ?>
                                                    You can <a href="#respond">leave a response</a>, or <a href="<?php trackback_url(); ?>" rel="trackback">trackback</a> from your own site.

                                                <?php } elseif (!('open' == $post-> comment_status) && ('open' == $post->ping_status)) {
                                                    // Only Pings are Open ?>
                                                    Responses are currently closed, but you can <a href="<?php trackback_url(); ?> " rel="trackback">trackback</a> from your own site.

                                                <?php } elseif (('open' == $post-> comment_status) && !('open' == $post->ping_status)) {
                                                    // Comments are open, Pings are not ?>
                                                    You can skip to the end and leave a response. Pinging is currently not allowed.

                                                <?php } elseif (!('open' == $post-> comment_status) && !('open' == $post->ping_status)) {
                                                    // Neither Comments, nor Pings are open ?>
                                                    Both comments and pings are currently closed.

                                                <?php } edit_post_link('Edit this entry.','',''); ?>

                                            </small>
                                        </p>

                                    </div>

                                </div>

                            <?php comments_template(); ?>

                            <?php endwhile; else: ?>

                                <p>Sorry, no attachments matched your criteria.</p>

                        <?php endif; ?>


                    <div class="clear"></div>


                </div>

            </div>

A: 

Hrm. I checked the syntax myself and usually that means you are missing a {} somewhere. You have an interesting way of putting it all together. I'm surprised you don't just consolidate the mid-section into pure PHP and then just output the html through php to keep your syntax in line.

But, that's what I would do, personally. I try to keep my code as simple as possible and lean either one way or the other as far as languages are concerned. Either mostly HTML with a pinch of PHP (for templates) or mostly PHP outputting HTML (for easier reading).

sublimegeek
+2  A: 

Doesn't look like the first, <?php if (have_posts()) : ?> ended. It also doesn't look like you even need that line since you duplicate the functionality the line after.

St. John Johnson
+2  A: 

I guess this line is causing the problems:

<?php if (have_posts()) : ?>

I deleted it and the error disappeared. You have the very same test made again in the next line, so I guess this is redundant.

codaddict
A: 

Unclosed } probably. Anyway, asking people to "look" into your code is not an option. It's your job. Remove statements one by one until you find onclosed one.

Col. Shrapnel
A: 

The line <?php if (have_posts()) : ?> is never ended, so you need an extra <?php endif; ?>

Coronatus