ワードプレスに限らず、PHPファイル末尾のPHP終了タグ?>は付けてはいけません。
ワードプレスの場合は、付けないことを推奨となっていて、必ずではないものの付けない方が安全です。
終了タグ ?> を書く場合と、書かない場合
終了タグ ?> を書くのはこんな時
テンプレートなどの途中にPHPを書く場合。
<h1><?php the_title(); ?></h1>
終了タグ ?> を書かないはこんな時
ファイルの最後がPHPの場合。
functions.phpがまさにこのパターンですね!
<?php
?>
なぜなのか?
OKパターンとNGパターン
まずはOKパターン
<?php
?>
[EOF]
これがNGパターン
<?php
?>
[EOF]
違いについて
OKパターンとNGパターンの違い分かりましたか?
そうです、最後のタグを閉じた後の改行の数です。
NGパターンのどうなるかというと、HTMLにおいて改行コードは半角スペースとして認識されます。
結果、変なスペースが入るだけではなく、header関数が認識されなくなりページが表示されない場合があります。
通常、ファイルの最後は改行で終わりますが、何かのミスで改行2回入れちゃったらアウトになります。
そんなトラブルを避けるためにも、終了タグをつけてはいけないと憶えておいた方が無難です。
コーディング規約を読もう!
ワードプレスには、各言語をワードプレスで使う場合のコーディング規約があります。
まずはこれらを読みましょう。
Web制作会社の方は、次に社内コーディング規約と照らし合わせましょう。
その上で、ワードプレスのコーディング規約より社内のコーディング規約を優先するのは良いと思います。
よく見かけるのは、両方読んでなかったり、最悪社内コーディング規約が無くワードプレスのコーディング規約も読んでないパターンです。
理想は、社内のコーディング規約とは別に、社内のWordPress用コーディング規約を作ることです。
私が通常働いている会社のコーディング規約もいずれ公開したいと思ってます。
ただ、常に進化しているため中々タイミングが難しい・・・。
たまにワードプレスを売りにしてるWeb専門の制作会社でコーディング規約の無い会社があるので、依頼する方は制作会社の見極めの際に質問してみてください。
わかる方なら、CSSプロパティの並び順の規則性などをみると判断しやすいですよ。