0
votes

I'm working on a Wordpress site I didn't create. The developer is using the content-single.php page for other pieces of content on the site. Now the client wants a blog, but I can't use content-single php.

Unfortunately Wordpress references content-single.php for single pages on the blog, but these need a different format. Can I use an if/else statement? I'm not a PHP developer, but am trying this fix:

<?php   if ( is_category('7') ) {
?>


<p>Thanks so much for your help!</p>




<?php   } else { ?>




<article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>

    <div class="container">
        <?php if (get_the_post_thumbnail( $post_id, 'full')) { ?>
            <div class="row">
                <div class="col-sm-4 col-xs-12 landing-col">
      <?php echo get_the_post_thumbnail( $post_id, 'full'); ?>
        </div>
        <div class="col-sm-8 col-xs-12">
            <?php } ?>

                <header class="entry-header">
                    <h1 class="entry-title"><?php the_title(); ?></h1>

                    <div class="entry-meta">
                        <?php superhero_posted_on(); ?>
                    </div><!-- .entry-meta -->
                </header><!-- .entry-header -->

                <div class="entry-content">
                    <?php the_content(); ?>
                    <?php wp_link_pages( array( 'before' => '<div class="page-links">' . __( 'Pages:', 'superhero' ), 'after' => '</div>' ) ); ?>
                </div><!-- .entry-content -->

                <footer class="entry-meta">
                    <?php
                        /* translators: used between list items, there is a space after the comma */
                        $category_list = get_the_category_list( __( ', ', 'superhero' ) );

                        /* translators: used between list items, there is a space after the comma */
                        $tag_list = get_the_tag_list( '', __( ', ', 'superhero' ) );

                        if ( ! superhero_categorized_blog() ) {
                            // This blog only has 1 category so we just need to worry about tags in the meta text
                            if ( '' != $tag_list ) {
                                $meta_text = __( 'This entry was tagged %2$s. Bookmark the <a href="%3$s" title="Permalink to %4$s" rel="bookmark">permalink</a>.', 'superhero' );
                            } else {
                                $meta_text = __( 'Bookmark the <a href="%3$s" title="Permalink to %4$s" rel="bookmark">permalink</a>.', 'superhero' );
                            }

                        } else {
                            // But this blog has loads of categories so we should probably display them here
                            if ( '' != $tag_list ) {
                                $meta_text = __( 'This entry was posted in %1$s and tagged %2$s. Bookmark the <a href="%3$s" title="Permalink to %4$s" rel="bookmark">permalink</a>.', 'superhero' );
                            } else {
                                $meta_text = __( 'This entry was posted in %1$s. Bookmark the <a href="%3$s" title="Permalink to %4$s" rel="bookmark">permalink</a>.', 'superhero' );
                            }

                        } // end check for categories on this blog

                        printf(
                            $meta_text,
                            $category_list,
                            $tag_list,
                            get_permalink(),
                            the_title_attribute( 'echo=0' )
                        );
                    ?>

                    <?php edit_post_link( __( 'Edit', 'superhero' ), '<span class="edit-link">', '</span>' ); ?>
                </footer><!-- .entry-meta -->

      <?php if (get_the_post_thumbnail( $post_id, 'full')) {  // if there is a first featured image & the featured image is not set to hidden, close the Bootsrap columns ?>
      </div><!-- /.col -->
    </div><!-- /.row -->
  <?php } ?>

  </div><!-- /.container -->    
</article><!-- #post-## -->

<?php  } ?>

Technically, category 7 (the blog) should have "Thanks so much for your help" while the rest of the pages output the original code. But that's not happening. Category 7 is still outputting the old code.

I appreciate any help on this, seriously.

Cass

2

2 Answers

0
votes

is_category() function is examine categories on archive page. I understand this, you want examine posts (post_category). For this you must use in_category($CAT_ID); With this function, your post in inserted parameter category return true, if is not return false.

0
votes

You're missing a closing paren in your if statement. This is resulting in a parse error, and because you don't have debugging on, is causing the page to be blank.

It should be:

if ( in_category('7') ) {