Prev 1 2 ... 27 28 29 ... 32 33 Next

WordPressテーマTwenty Elevenでアーカイブ、カテゴリーページの最初の投稿記事だけ別処理させる方法

Pocket
LINEで送る

本投稿記事の内容は、「WordPress3.3.1」のテーマ「Twenty Eleven1.3」での話であり、バージョンが大きく異なると動作しない場合があります。
※2012/06/03追記 「WordPress3.3.2」での動作を確認しました。
※2012/06/20追記 「WordPress3.4」テーマ「Twenty Eleven1.4」での動作を確認しました。
※2013/01/07追記 テーマ「Twenty Twelve」の場合については「WordPressテーマTwenty Twelveでアーカイブ、カテゴリー、タグページの最初の投稿記事の前後だけに別処理を追加する方法」を参考にして下さい。

前々回の記事で最初の投稿記事だけ別処理させる事が出来た。しかし、アーカイブやカテゴリーのページが対応していないことを忘れていました。今回はアーカイブやカテゴリーのページで記事の前後に追加処理させる方法を説明します。

  1. アーカイブページで最初の記事の前後に別処理させる方法
  2. /wp-content/themes/twentyeleven内にある「archive.php」
    下記の箇所を変更して下さい。小テーマを作っている場合は、間違えず小テーマ側の「archive.php」を変更して下さい。

    例)「archive.php」

    
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    				<?php /* Start the Loop */ ?>
    				<?php while ( have_posts() ) : the_post(); ?>
    
    					<?php
    						/* Include the Post-Format-specific template for the content.
    						 * If you want to overload this in a child theme then include a file
    						 * called content-___.php (where ___ is the Post Format name) and that will be used instead.
    						 */
    						get_template_part( 'content', get_post_format() );
    					?>
    
    				<?php endwhile; ?>
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    



    ∨※2行目を変更していることに注意

    
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    				<?php /* Start the Loop */ ?>
    				<?php while ( have_posts() ) : the_post(); $counter++; ?>
    <?php if ($counter <= 1) {
    print <<<EOD
    <!-- ここから最初の記事の前に処理する内容	-->
    
    <!-- ここまで最初の記事の前に処理する内容	-->
    EOD;
    } ?>
    					<?php
    						/* Include the Post-Format-specific template for the content.
    						 * If you want to overload this in a child theme then include a file
    						 * called content-___.php (where ___ is the Post Format name) and that will be used instead.
    						 */
    						get_template_part( 'content', get_post_format() );
    					?>
    <?php if ($counter <= 1) {
    print <<<EOD
    <!-- ここから最初の記事の後に処理する内容	-->
    
    <!-- ここまで最初の記事の後に処理する内容	-->
    EOD;
    } ?>
    				<?php endwhile; ?>
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    

    これでアーカイブページで最初の記事の前後に別の処理をさせることが出来ます。

  3. カテゴリーページで最初の記事の前後に別処理させる方法
  4. /wp-content/themes/twentyeleven内にある「category.php」
    下記の箇所を変更して下さい。小テーマを作っている場合は、間違えず小テーマ側の「category.php」を変更して下さい。

    例)「category.php」

    
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    				<?php /* Start the Loop */ ?>
    				<?php while ( have_posts() ) : the_post(); ?>
    
    					<?php
    						/* Include the Post-Format-specific template for the content.
    						 * If you want to overload this in a child theme then include a file
    						 * called content-___.php (where ___ is the Post Format name) and that will be used instead.
    						 */
    						get_template_part( 'content', get_post_format() );
    					?>
    
    				<?php endwhile; ?>
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    



    ∨※2行目を変更していることに注意

    
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    				<?php /* Start the Loop */ ?>
    				<?php while ( have_posts() ) : the_post(); $counter++; ?>
    <?php if ($counter <= 1) {
    print <<<EOD
    <!-- ここから最初の記事の前に処理する内容	-->
    
    <!-- ここまで最初の記事の前に処理する内容	-->
    EOD;
    } ?>
    					<?php
    						/* Include the Post-Format-specific template for the content.
    						 * If you want to overload this in a child theme then include a file
    						 * called content-___.php (where ___ is the Post Format name) and that will be used instead.
    						 */
    						get_template_part( 'content', get_post_format() );
    					?>
    <?php if ($counter <= 1) {
    print <<<EOD
    <!-- ここから最初の記事の後に処理する内容	-->
    
    <!-- ここまで最初の記事の後に処理する内容	-->
    EOD;
    } ?>
    				<?php endwhile; ?>
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    

    これでカテゴリーページで最初の記事の前後に別の処理をさせることが出来ます。

※2012/05/23追記 タグのページも忘れていましたので、「tag.php」も同様に変更して下さい。

Pocket
LINEで送る

スポンサーリンク

WordPressテーマTwenty Elevenの個別ページ、固定ページで記事の前後に追加処理させる方法

Pocket
LINEで送る

本投稿記事の内容は、「WordPress3.3.1」のテーマ「Twenty Eleven1.3」での話であり、バージョンが大きく異なると動作しない場合があります。
※2012/06/03追記 「WordPress3.3.2」での動作を確認しました。
※2012/06/20追記 「WordPress3.4」テーマ「Twenty Eleven1.4」での動作を確認しました。
※2013/01/07追記 テーマ「Twenty Twelve」の場合については「WordPressテーマTwenty Twelveで個別ページ、固定ページの投稿記事の前後に別処理を追加する方法」を参考にして下さい。

前回の記事で最初の投稿記事だけ別処理させる事が出来た。しかし、これは、個別ページや固定ページには対応していません。今回は個別ページや固定ページで記事の前後に追加処理させる方法を説明します。

  1. 個別ページで記事の前後に追加処理させる方法
  2. /wp-content/themes/twentyeleven内にある「single.php」
    下記の箇所を変更して下さい。小テーマを作っている場合は、間違えず小テーマ側の「single.php」を変更して下さい。

    例)「single.php」

    
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    					<nav id="nav-single">
    						<h3 class="assistive-text"><?php _e( 'Post navigation', 'twentyeleven' ); ?></h3>
    						<span class="nav-previous"><?php previous_post_link( '%link', __( '<span class="meta-nav">&larr;</span> Previous', 'twentyeleven' ) ); ?></span>
    						<span class="nav-next"><?php next_post_link( '%link', __( 'Next <span class="meta-nav">&rarr;</span>', 'twentyeleven' ) ); ?></span>
    					</nav><!-- #nav-single -->
    
    					<?php get_template_part( 'content', 'single' ); ?>
    
    					<?php comments_template( '', true ); ?>
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    



    
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    					<nav id="nav-single">
    						<h3 class="assistive-text"><?php _e( 'Post navigation', 'twentyeleven' ); ?></h3>
    						<span class="nav-previous"><?php previous_post_link( '%link', __( '<span class="meta-nav">&larr;</span> Previous', 'twentyeleven' ) ); ?></span>
    						<span class="nav-next"><?php next_post_link( '%link', __( 'Next <span class="meta-nav">&rarr;</span>', 'twentyeleven' ) ); ?></span>
    					</nav><!-- #nav-single -->
    <?php	/*	ここから記事の前に処理する内容	*/	?>
    
    <?php	/*	ここまで記事の前に処理する内容	*/	?>
    					<?php get_template_part( 'content', 'single' ); ?>
    <?php	/*	ここから記事の後に処理する内容	*/	?>
    
    <?php	/*	ここまで記事の後に処理する内容	*/	?>
    					<?php comments_template( '', true ); ?>
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    

    これで個別ページで記事の前後に追加処理させることが出来ます。

  3. 固定ページで記事の前後に追加処理させる方法
  4. /wp-content/themes/twentyeleven内にある「page.php」
    下記の箇所を変更して下さい。小テーマを作っている場合は、間違えず小テーマ側の「page.php」を変更して下さい。

    例)「page.php」

    
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    				<?php while ( have_posts() ) : the_post(); ?>
    
    					<?php get_template_part( 'content', 'page' ); ?>
    
    					<?php comments_template( '', true ); ?>
    
    				<?php endwhile; // end of the loop. ?>
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    



    
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    				<?php while ( have_posts() ) : the_post(); ?>
    <?php	/*	ここから記事の前に処理する内容	*/	?>
    
    <?php	/*	ここまで記事の前に処理する内容	*/	?>
    					<?php get_template_part( 'content', 'page' ); ?>
    <?php	/*	ここから記事の後に処理する内容	*/	?>
    
    <?php	/*	ここまで記事の後に処理する内容	*/	?>
    					<?php comments_template( '', true ); ?>
    
    				<?php endwhile; // end of the loop. ?>
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    

    これで固定ページで記事の前後に追加処理させることが出来ます。

Pocket
LINEで送る

WordPressテーマTwenty Elevenで最初の投稿記事だけ別処理させる方法

Pocket
LINEで送る

本投稿記事の内容は、「WordPress3.3.1」のテーマ「Twenty Eleven1.3」での話であり、バージョンが大きく異なると動作しない場合があります。
※2012/06/03追記 「WordPress3.3.2」での動作を確認しました。
※2012/06/20追記 「WordPress3.4」テーマ「Twenty Eleven1.4」での動作を確認しました。
※2013/01/07追記 テーマ「Twenty Twelve」の場合については「WordPressテーマTwenty Twelveで最初の投稿記事の前後だけに別処理を追加する方法」を参考にして下さい。

ブログを書いていると最初投稿記事にだけ画像を貼ったり、アフィリエイト表示など別処理させたい時があります。そんな時、WordPressではどうするのか説明します。

最初の投稿記事だけ前又は後に別処理させる方法

/wp-content/themes/twentyeleven内にある「index.php」
下記の箇所を変更して下さい。小テーマを作っている場合は、間違えず小テーマ側の「index.php」を変更して下さい。

例)「index.php」


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
				<?php /* Start the Loop */ ?>
				<?php while ( have_posts() ) : the_post(); ?>

					<?php get_template_part( 'content', get_post_format() ); ?>

				<?php endwhile; ?>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~



∨※2行目を変更していることに注意


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
				<?php /* Start the Loop */ ?>
				<?php while ( have_posts() ) : the_post(); $counter++; ?>
<?php if ($counter <= 1) {
print <<<EOD
<!-- ここから最初の記事の前に処理する内容	-->

<!-- ここまで最初の記事の前に処理する内容	-->
EOD;
} ?>
					<?php get_template_part( 'content', get_post_format() ); ?>
<?php if ($counter <= 1) {
print <<<EOD
<!-- ここから最初の記事の後に処理する内容	-->

<!-- ここまで最初の記事の後に処理する内容	-->
EOD;
} ?>
				<?php endwhile; ?>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

これで最初の記事だけに、記事の前又は後に別の処理をさせることが出来ます。

Pocket
LINEで送る

 Prev 1 2 ... 27 28 29 ... 32 33 Next

スポンサーリンク