Because We Love Happy Coding

フリーライターからエンジニア × 講師。発信力だけあり余ってる感じ

`wp_query()`と`get_the_post_thumbnail()`

今日もまたコーディング。だって僕らはHappy Codingが大好きだから。

目次

環境

手順など

WordPresswp_query()で、メタクエリを使って、関連記事(relationship)のサムネイルを呼びだそうとしてみた。

$books_query = new WP_Query( $args );
if($books_query->have_posts()):
    $additional_contents .= '<section class="c-books_section">
    <h2 class="c-books_section__header">この作者の作品</h2>
    <ul class="c-books_list">';
    while ( $books_query->have_posts() ) : $books_query->the_post();
        $additional_contents .= '<li><a href="'.get_permalink($books_query->ID).'" class="c-books_list__item">';
        $additional_contents .= '<div class="c-books_list__title">'.get_the_title($books_query->ID).'</div>';
        $additional_contents .= '<div class="c-books_list__image">'.get_the_post_thumbnail( $books_query->ID ).'</div>';

ところが実行してみるとエラーになる。

Invalid argument supplied for foreach() in /home/mogami74/www/blog/books/wp-includes/post-thumbnail-template.php on line 100

どうやらWordPressのバグというか、仕様というか、そんな感じらしい。

頑張ればpost-thumbnail-template.php をいじるとか、なんか回避策とかありそうだけど、とりあえず面倒そうだから先送りにして、ここはサムネイルなしでいこう……。