STINGER3のサイドバーでトップページだけNewEntryを消す

2016-08-03

20140316-1

とても便利に使わせてもらっているブログのテーマ「STINGER3」なのですが、変えたいことの1つがトップページで記事が羅列しているのに、サイドバーでもNewPostで同じ状態で羅列してしまうので、トップページのみNewPostを消したいということでした。
※STINGER3のデフォではNewEntryになっています。

20140316-2

いろいろな記事を読んで試しては失敗していたのですが、やっとやり方がわかったので備忘録として残しておきます。

sidebar.phpを書き換える

sidebar.phpを開き「<!–最近のエントリ–>」の場所を探します。

<!–最近のエントリ–>
<?php if(is_page() ) { ?>
<?php } else if(is_home() ) { ?>
<?php } else { ?>
<h4 class=”menu_underh2″>New Post</h4>
<div id=”topnews”>
<div>
<?php
$args = array(
‘posts_per_page’ => 5,
);
$st_query = new WP_Query($args);
?>
<?php if( $st_query->have_posts() ): ?>
<?php while ($st_query->have_posts()) : $st_query->the_post(); ?>
<dl><dt><span><a href=”<?php the_permalink() ?>” title=”<?php the_title_attribute(); ?>”>
<?php if ( has_post_thumbnail() ): // サムネイルを持っているときの処理 ?>
<?php the_post_thumbnail( ‘thumb100’ ); ?>
<?php else: // サムネイルを持っていないときの処理 ?>
<img src=”<?php echo get_template_directory_uri(); ?>/images/no-img.png” alt=”no image” title=”no image” width=”100″ height=”100″ />
<?php endif; ?>
</a></span></dt><dd><span class=”date”><?php echo get_post_time(‘Y.m.d D’); ?></span><br /><a href=”<?php the_permalink(); ?>” title=”<?php the_title(); ?>”><?php the_title(); ?></a>
</dd>
<p class=”clear”></p>
</dl>
<?php endwhile; ?>
<?php else: ?>
<p>記事はありませんでした</p>
<?php endif; ?>
<?php wp_reset_postdata(); ?>
</div>
</div>
<?php } ?>
<!–/最近のエントリ–>

 

上記の中の<!–最近のエントリ–>の下に3行追加します。

<?php if(is_page() ) { ?>
<?php } else if(is_home() ) { ?>
<?php } else { ?>

 

そして締めの「<!–/最近のエントリ–>」の直前に1行追加します。

<?php } ?>

 

全体としては、下記のようになります。

<!–最近のエントリ–>
<?php if(is_page() ) { ?>
<?php } else if(is_home() ) { ?>
<?php } else { ?>
<h4 class=”menu_underh2″>New Post</h4>
<div id=”topnews”>
<div>
<?php
$args = array(
‘posts_per_page’ => 5,
);
$st_query = new WP_Query($args);
?>
<?php if( $st_query->have_posts() ): ?>
<?php while ($st_query->have_posts()) : $st_query->the_post(); ?>
<dl><dt><span><a href=”<?php the_permalink() ?>” title=”<?php the_title_attribute(); ?>”>
<?php if ( has_post_thumbnail() ): // サムネイルを持っているときの処理 ?>
<?php the_post_thumbnail( ‘thumb100’ ); ?>
<?php else: // サムネイルを持っていないときの処理 ?>
<img src=”<?php echo get_template_directory_uri(); ?>/images/no-img.png” alt=”no image” title=”no image” width=”100″ height=”100″ />
<?php endif; ?>
</a></span></dt><dd><span class=”date”><?php echo get_post_time(‘Y.m.d D’); ?></span><br /><a href=”<?php the_permalink(); ?>” title=”<?php the_title(); ?>”><?php the_title(); ?></a>
</dd>
<p class=”clear”></p>
</dl>
<?php endwhile; ?>
<?php else: ?>
<p>記事はありませんでした</p>
<?php endif; ?>
<?php wp_reset_postdata(); ?>
</div>
</div>
<?php } ?>
<!–/最近のエントリ–>

 

これでトップページだけNewPost(NewEntry)が消え、それ以外のところを表示したときにはNewPost(NewEntry)が表れました♪

参考サイト
WordPressでページやカテゴリごとにサイドバーを切り替えるには | 西沢直樹のWebサイト

 

このBlogはXserverを使用しています



スポンサーリンク

PC, WordPress

Posted by moor