I'm trying to create a page for WordPress "category.php" from the code in this tutorial: http://scratch99.com/wordpress/wp-seo/siloing/
My current theme (Sociallyviral by Themeforest) there is no page "category.php," so I created one and added the code below:
Author's Note: "The code should look something like the below. Note, you can’t just use this code exactly – it needs to fit in with your theme so that the classes of wrapping divs, etc match the rest of your theme and the style is picked up."
// work out category id, then see if there are any subcategories
$main_cat_ID = get_query_var( 'cat' );
$subcats = get_categories( array( 'parent' => $main_cat_ID, 'hide_empty' => 0 ) );
// if it is page 1
if ( $paged < 2 ) :
    // show the category description
    echo category_description();
    // if there are subcategories, loop through and show them
    if ( count( $categories ) > 0 ) :
        foreach ( $subcats as $category ) : ?>    
            <div class="subcategory">
                <h2><a class="subcategory-link" href="<?php echo get_category_link( $category->term_id ); ?>">
                <?php echo $category->name; ?></a></h2>
                <?php echo wpautop( $category->description ); ?>
            </div>
        <?php
       endforeach;
    endif;
    // get sticky posts and show them if they exist
    $args = array( 'category__in' => $main_cat_ID, 'include' => get_option( 'sticky_posts' ) );
    $myposts = get_posts( $args );
    if ( count( $myposts ) > 0 ) :
        foreach ( $myposts as $value ) : ?>
        <div class="sticky">
            <h3>
                <a href="<?php echo get_permalink( $value->ID ); ?>" rel="bookmark"
                title="<?php echo $value->post_title; ?>"><?php echo $value->post_title; ?></a>
            </h3>
            <div class="entry-content">
            <?php 
            // if there is an excerpt, use it, otherwise roll our own (get_the_excerpt won't work outside the loop)
            if ( $value->post_excerpt ) : 
                echo wpautop( $value->post_excerpt );
            else :
                $sjc_excerpt = explode( '<!--more-->', $value->post_content ); 
                if ( count( $sjc_excerpt ) >= 2 ) :
                    echo wpautop( strip_tags( $sjc_excerpt[0] ) );
                else :
                    echo wpautop( implode ( ' ', array_slice( explode( ' ', strip_tags( $sjc_excerpt[0] ) ), 0, 45 ) ) . ' ...' );
                endif;
            endif; ?>
            </div>
        </div>
        <?php
        endforeach;
    endif;
// pages 2 and onwards don't worry about cat desc or stickies, but link to main cat page
else : ?>
        <p>For an introduction to this topic and our latest articles, please see the main 
        <a href="<?php echo get_category_link( $main_cat_ID ); ?>"><?php single_cat_title(); ?></a> page.</p>
<?php
endif;
// if we have any posts in the main loop (no stickies there)
if ( have_posts() ) : ?>
    <ul class="other-posts">
    <?php /* Start the Loop */ ?>
    <?php while ( have_posts() ) : the_post(); ?>
        <li><a href="<?php the_permalink() ?>" rel="bookmark"
        title="Permanent Link to <?php the_title(); ?>"><?php the_title(); ?></a></li>
    <?php endwhile; ?>
    </ul>
    <?php 
    // you need to replace this with whatever your theme uses!
    sjc_content_nav( 'nav-below' ); 
// if no posts, and also no stickies and no categories, go with no results
elseif ( count( $myposts ) == 0 && count( $subcats ) == 0 ) : 
    get_template_part( 'no-results', 'archive' ); 
endif; 
If necessary, below my theme file "archive.php"
<?php $mts_options = get_option(MTS_THEME_NAME); ?>
<?php get_header(); ?>
<div id="page">
    <div id="content_box">
        <h1 class="postsby">
            <?php if (is_category()) { ?>
                <span><?php single_cat_title(); ?><?php _e(" Archive", "mythemeshop"); ?></span>
            <?php } elseif (is_tag()) { ?> 
                <span><?php single_tag_title(); ?><?php _e(" Archive", "mythemeshop"); ?></span>
            <?php } elseif (is_author()) { ?>
                <span><?php  $curauth = (isset($_GET['author_name'])) ? get_user_by('slug', $author_name) : get_userdata(intval($author)); echo $curauth->nickname; _e(" Archive", "mythemeshop"); ?></span> 
            <?php } elseif (is_day()) { ?>
                <span><?php _e("Daily Archive:", "mythemeshop"); ?></span> <?php the_time('l, F j, Y'); ?>
            <?php } elseif (is_month()) { ?>
                <span><?php _e("Monthly Archive:", "mythemeshop"); ?>:</span> <?php the_time('F Y'); ?>
            <?php } elseif (is_year()) { ?>
                <span><?php _e("Yearly Archive:", "mythemeshop"); ?>:</span> <?php the_time('Y'); ?>
            <?php } ?>
        </h1>
        <?php $j = 1; if (have_posts()) : while (have_posts()) : the_post(); $featured = get_post_meta($post->ID, 'mts_featured', true); ?>
            <article class="latestPost excerpt<?php echo (($j+2) % 3 == 0) ? ' first' : ''; ?><?php echo ($j % 3 == 0) ? ' last' : ''; ?>" itemscope itemtype="http://schema.org/BlogPosting">
                <a href="<?php the_permalink() ?>" title="<?php the_title(); ?>" rel="nofollow" id="featured-thumbnail">
                    <?php echo '<div class="featured-thumbnail">'; the_post_thumbnail('featured',array('title' => '')); echo '</div>'; ?>
                    <?php if (function_exists('wp_review_show_total')) wp_review_show_total(true, 'latestPost-review-wrapper'); ?>
                    <?php if ($featured) : ?><div class="post-label"><i class="fa fa-star"></i> <span><?php _e('Featured','mythemeshop'); ?></span></div><?php endif; ?>
                </a>
                <header>
                    <h2 class="title front-view-title"><a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><?php the_title(); ?></a></h2>
                    <?php if ( ! empty( $mts_options["mts_home_headline_meta"] ) ) { ?>
                        <div class="post-info">
                            <?php if( ! empty( $mts_options["mts_home_headline_meta_info"]['date']) ) { ?>
                                <span class="thetime updated"><i class="fa fa-calendar"></i> <span itemprop="datePublished"><?php echo human_time_diff( get_the_time('U'), current_time('timestamp') ) . __(' ago','mythemeshop'); ?></span></span>
                            <?php } ?>
                            <?php if( ! empty( $mts_options["mts_home_headline_meta_info"]['category']) ) { ?>
                                <span class="thecategory"><i class="fa fa-tags"></i> <?php mts_the_category(', ') ?></span>
                            <?php } ?>
                        </div>
                    <?php } ?>
                </header>
            </article><!--.post excerpt-->
        <?php $j++; endwhile; endif; ?>
        <!--Start Pagination-->
        <?php if (isset($mts_options['mts_pagenavigation_type']) && $mts_options['mts_pagenavigation_type'] == '1' ) { ?>
            <?php mts_pagination(); ?> 
        <?php } else { ?>
            <div class="pagination pagination-previous-next">
                <ul>
                    <li class="nav-previous"><?php next_posts_link( '<i class="fa fa-angle-left"></i> '. __( 'Previous', 'mythemeshop' ) ); ?></li>
                    <li class="nav-next"><?php previous_posts_link( __( 'Next', 'mythemeshop' ).' <i class="fa fa-angle-right"></i>' ); ?></li>
                </ul>
            </div>
        <?php } ?>
        <!--End Pagination-->
    </div>
<?php get_footer(); ?>
I get this error when i try to open the category page:
"Parse error: syntax error, unexpected 'endforeach' (T_ENDFOREACH) in /wp-content/themes/sociallyviral/category.php on line 20"
This syntax error, are solved!
Thank you all!
Best regards!
 
     
    