忙しくてなかなかブログが更新できていない。

そもそも「備忘録」ってテーマ、なんで作ったんだろう。

この「WordPress」ってテーマが既にWordPressに関する備忘録なのにorz


んで、タイトルの件。

投稿に設定されているアイキャッチ画像を取得して表示する場合。

・get_posts()で投稿情報を取得

・get_the_post_thumbnail()で<img src="~の情報を書き出し

というふうに処理。

<?php
$mypost = get_posts();
foreach($mypost as $post):
if(has_post_thumbnail()) {
?>
<li><a href="<?php the_permalink( ); ?>"><?php echo get_the_post_thumbnail( $post->ID, array(190,190) ); ?></a></li>
<?php } endforeach; ?>

と、まぁこんな感じになるかと。


では、固定ページの場合はというと、基本的には投稿と同じ。

ただ、一部固定ページ用の処理をしてあげないと、抽出した情報に投稿の情報が混在してしまうようです。

<?php
$pages = get_pages();
foreach($pages as $page):
if(has_post_thumbnail($page->ID)) {
?>
<li><a href="<?php echo get_page_link($page->ID); ?>"><?php echo get_the_post_thumbnail( $page->ID, array(190,190) ); ?></a></li>
<?php } endforeach; ?>

で、なんとか成功!

違いは、

・$mypost = get_posts(); → $pages = get_pages();

・has_post_thumbnail() → has_post_thumbnail($page->ID)

・<?php the_permalink( ); ?> → <?php echo get_page_link($page->ID); ?>

・get_the_post_thumbnail( $post->ID, array(190,190) ) → get_the_post_thumbnail( $page->ID, array(190,190) )

似て非なるもの。投稿と固定ページの処理。