Single.phpなどのテンプレートを作成していて、phpをhtmlでラップしている場合は、次の方法が最適です。
PHPの起動と停止例えば
<h1 class="post-tilte"><?php the_title(); ?></h1>
<p class="post-content"><?php the_content();?></p>
または
HTMLをエコーしてPHPをエスケープする例えば -
<?php echo '<h1 class="post-title">' . get_the_title() . '</h1>
<p class="post-content"' . get_the_content() . '</p>
私は前もって決められた選択をしないで、自分自身が両方をしているのに気づきません。
WordPressはコーディング言語とレイアウト言語のミックスを使用しているため、それは問題になるだけです。あなたがテンプレート言語、構文を使用する場合、このトピックは関係ありません。しかしあなたの質問に。 htmlのようなもっとレイアウトの言語のテーマにあなたの例のソースを使用するなら、私は最初のものを好む - それはデザイナーとユーザーにとってはるかに読みやすい、そこにマークアップを読んでください。マークアップに関する概要を作成したり、開始タグや終了タグなどを作成したりする方が簡単です。
プラグインにインクルードする場合、より多くのロジックとフローを持つコードを実装するのが簡単な2番目の例です。主なトピックはマークアップではなくphpです。これはソースに表示されるはずです。テンプレートファイルでこのマークアップを除外し、マークアップをロジックから分離することを検討することもポイントです。
追加情報と同じです。 WordPressには PHPハンドブックとコーディング標準に関するベストプラクティスに関するHTML があり、CSS、JavaScript、およびアクセシビリティにも役立ちます。あなたはそれらが問題に深く入るために役立つと思うかもしれません。
上の答えで説明したように、最初の方法はデザイナーにやさしいです、そして2番目の方法はhtmlタグの数がほんの少ししかないプラグインと複雑なphpコードの場合にはおそらく適しています。
しかし、ほとんどのWordPressテンプレートタグはbefore
とafter
パラメータを持っていて、関数呼び出しの中であなたのHTMLコードを使うのにより適しています。
たとえばthe_title
の場合、3つのパラメータがあります。
the_title( $before, $after, $echo );
あなたは以下のようなパラメータの前後にあなたのHTMLを渡すことができます
the_title( '<h2 class="title">', '</h2>', true );
この方法の利点は
2行のコードしか表示されていないので、あなたのコード例は限界的ですが、全体的な答えは非常に状況次第であると思います。 HTMLブロック内でPHP行を使用している場合は、最初の方法を使用してください。 PHPブロック内でHTML行を使用している場合は、2行目に進みます。
最初の方法は次の理由で好ましいです。
上記の理由により、最初の方法ではコードが理解しやすくなり、保守も容易になります。
私の経験では、状況によっては、2番目の方法を使用する方が便利なようです。しかし、それは通常弱い(ソフトウェア)設計によるものであり、警告サインとして見られるべきです。