2013/8/31

WordPressループの外で記事情報を表示したい時

WordPressは投稿情報をWordPressループというやつで生成するのですが、たまに、ループの外で投稿情報に含むもの使いたいですねえ、ということがあります。今回はアイキャッチ画像だったのですが。どうしようかなあと思ってたんですけど、jQuery使えば良いですね。

<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<div class="eyecatchWrap">
  <div class="eyecatchBG"></div>
	<div class="eyecatchImg">
			<?php echo get_the_post_thumbnail($post->ID, 'large');?></a>
	</div>
</div>

<div class="brief">
  <article class="single">
	<?php the_content(); ?>
  </article><!-- /.single -->
</div>
<?php endwhile;?>
<?php endif; ?>

例えばこんな感じで作ったとして、本当はグローバルナビの直下にeyecatchWrap入れたいんだけどね、という時はjQueryで移動させちゃえば良いですね。

$(".eyecatchWrap").insertAfter(".gnav");

この手のことって何となくPHPの方で解決しようとしちゃうんだけど、しんどいので、jQueryに委ねちゃうと楽だなあと思いました。ループ複雑になると、メンテナンサビリティも落ちますしね。この辺、融通効かせるの大事。

ひとり仕事: フリーランスという働き方
(2012-10-5)
売り上げランキング: 14,705
100円
WordPressデザインレシピ集
狩野 祐東
技術評論社
売り上げランキング: 197,569
WordPress 高速化&スマート運用必携ガイド
こもりまさあき 岡本渉
エムディエヌコーポレーション
売り上げランキング: 435,263