- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:echoの出力がうまくできない)
echoの出力がうまくできない
このQ&Aのポイント
- WordPressでのPHPカスタマイズ時にechoの出力がうまくできず、リンクが張られない状態になってしまいます。
- the_title()などの関数の戻り値を展開して<a>タグを作りたいが、リンクが張られず文字列が表示される。
- 変数にthe_title()の戻り値を代入すると、echoがされた状態になり、タイトルが表示されてしまう。プログラミング初心者なので原因がわからない。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
the_permalink() は「記事のパーマリンクを出力」する関数です。呼び出し側にパーマリンクの文字列を返す関数ではありません(いわゆるfunctionではなくprocedure的な用途です)。 http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/the_permalink the_title() も同様です。 なので、最初にあった <a href="<?php the_permalink( ); ?>"><?php the_title(); ?></a> のような記述になります。どうしてもechoしたければ(全部phpモードで書きたければ) echo '<a href="'; the_permalink( ); echo '">'; the_title(); echo '</a>'; のようになります。
お礼
shimixさん どうもありがとうございました。 まさに求めている回答でした!謎が解けました。 仰る通りリンク先を見ると、WordPress側の出力は「画面に出力までする」みたいな感じのプロシージャ的な扱いになっているよですね。 WordPressを使う限り、今回の理解は結構大きいように思えます。 貴重な情報ありがとうございました。