Related post by category reture this error: Parse error: syntax error, unexpected $end in

I got this code from this site on how to display related post by category but when I paste it to my theme it return me this error.

Parse error: syntax error, unexpected $end in C:xampphtdocsmmwp-contentthemesmmsingle.php on line 61

<?php $orig_post = $post;
global $post;
$categories = get_the_category($post->ID);
if ($categories) {
$category_ids = array();
foreach($categories as $individual_category) $category_ids[] = $individual_category->term_id;
$args=array(
'category__in' => $category_ids,
'post__not_in' => array($post->ID),
'posts_per_page'=> 5, // Number of related posts that will be displayed.
'caller_get_posts'=>1,
'orderby'=>'rand' // Randomize the posts
);
$my_query = new wp_query( $args );
if( $my_query->have_posts() ) {
echo '<div id="related_posts" class="clear"><h3>Related Posts</h3><ul>';
while( $my_query->have_posts() ) {
$my_query->the_post(); ?>
<li>
 <a href="<?php the_permalink()?>" rel="bookmark" title="<?php the_title(); ?>">
 <?php the_post_thumbnail( 'related-posts' ); ?>
 </a>
 <div class="related_content">
 <a href="<? the_permalink()?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a>
 </div>
</li>
<? }
echo '</ul></div>';
} }
$post = $orig_post;
wp_reset_query(); ?>

Related posts

Leave a Reply

1 comment

  1. Code indentation is the key, as a tip try alternative control statements
    Try to adapt a coding standard to avoid further problems in the future, also don`t use short tags, you might migrate the code on a server which isn’t configured accordingly

    <?php
        $orig_post = $post;
        global $post;
        $categories = get_the_category($post->ID);
        if ($categories):
            $category_ids = array();
            foreach($categories as $individual_category) 
            {
                $category_ids[] = $individual_category->term_id;
            }
            $args=array(
            'category__in' => $category_ids,
            'post__not_in' => array($post->ID),
            'posts_per_page'=> 5, // Number of related posts that will be displayed.
            'caller_get_posts'=>1,
            'orderby'=>'rand' // Randomize the posts
            );
            $my_query = new wp_query( $args );
            if( $my_query->have_posts() ):
                echo '<div id="related_posts" class="clear"><h3>Related Posts</h3><ul>';
                while( $my_query->have_posts() ):
                    $my_query->the_post(); ?>
                    <li>
                     <a href="<?php the_permalink()?>" rel="bookmark" title="<?php the_title(); ?>">
                     <?php the_post_thumbnail( 'related-posts' ); ?>
                     </a>
                     <div class="related_content">
                     <a href="<?php the_permalink()?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a>
                     </div>
                    </li>
                    <?php
                endwhile;
                ?> 
                </ul></div>
                <?php
            endif;
        endif;
        $post = $orig_post;
        wp_reset_query(); 
    ?>