LoginSignup
localnavi
@localnavi (新谷 貴司)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

WordPressテーマで the_title() ・ the_post_thumbnail() の出力結果が、結合代入演算子で代入した順に並ばない

解決したいこと

WordPress5.8.1のテーマで、結合代入演算子で代入した順に並んでほしい。
※PHP7.4(CGI版)です。

発生している問題・エラー

テーマ内で、$retHTMLという変数を宣言して、ここにHTMLタグや the_title() ・ the_post_thumbnail() の出力結果を「.=」で追加して、ページ内に出力しています。

ところが、出力結果のHTMLソースを見ると、 the_title() ・ the_post_thumbnail() の出力結果が、先に代入したはずのHTMLタグの前に表示されます。

例)

または、問題・エラーが起きている画像をここにドラッグアンドドロップ

該当するソースコード

$retHTML.='<li>';
$retHTML.=the_title( '<h4><a href="' . esc_url( get_permalink() ) . '">', '</a></h4>' );
$retHTML.='<div>';
$retHTML.=the_post_thumbnail('medium');
$retHTML.='</div></li>';

自分で試したこと

変数 $retHTML を配列に替えて、最後に implode で結合してみたのですが、同じく the_title() ・ the_post_thumbnail() の出力結果が

タグより前に表示されてしまいました。
the_title() ・ the_post_thumbnail() を通常のHTMLタグに書き換えてみたら、ちゃんと タグの後ろに出力されたので、 the_title() ・ the_post_thumbnail() が何かしているのは間違いなさそうです。
0

1Answer

Comments

  1. @localnavi

    Questioner
    ありがとうございます! なるほど、そういう事だったのですね。
    get_the_title() と get_the_post_thumbnail() を使って、上手く行きました。

Your answer might help someone💌