WordPressは主にPHPというプログラミング言語で書かれており、サーバーに次のコードをPHPで処理する必要があることを伝える特定の構文を持っています。典型的なPHPのコードスニペットは次のようなものです。
// PHP 最初のタグ
<?php
// コード本文はこちら(ここでは空です)
// PHP 最後のタグ
?>
すべてのPHPコードは、<?php と ?> タグの中に記述する必要があります。
PHPの終了タグは、PHPとHTMLの間を行ったり来たりするファイルにおいて非常に重要です。これには、HTMLと一緒にPHPタグを使用するほとんどのWordPressテーマファイルが含まれます。
もし、PHP開始タグが閉じられていない場所にコードを貼り付ける場合は、PHP開始タグを付けずにコードを追加する必要があることを、確認する必要があります。
<?php
// 既存のコード
// カスタムコード
?>
もしカスタムコードをPHPの終了タグの外や後に貼り付けている場合は、PHPの開始タグも追加する必要があります。
<?php
// 既存のコード
?>
// カスタムコードスニペット
<?php
?>
エラーのほぼ90%は、PHPの開始タグまたは終了タグが正しく配置されていないことが原因です。コードを見れば、カスタムコードスニペットにPHPの開始タグまたは終了タグを追加する必要があるかどうかを理解することができます。
しかし、functions.phpのような多くのWordPressテーマファイルには、PHPの終了タグが全くない場合があります。つまり、開始タグや終了タグを付けずに、ファイルの一番下にコードを追加することができます。
以下はその例です。
<?php
// テーマのfunctions.phpファイルにたくさんのコードがある場合
//
//
// あなたのカスタムコード
function custom_loginlogo() {
echo '<style type="text/css">
h1 a {background-image: url('.get_bloginfo('template_directory').'/images/login_logo.png) !important; }
</style>';
}
add_action('login_head', 'custom_loginlogo');
利用しようとするスニペットのチュートリアルによっては、PHPの開始タグと終了タグの使い方をすでに知っていることを前提にしている場合があることを忘れないでください。そのため、これらのタグを使用しないコードスニペットが表示されることもあります。
function custom_loginlogo() {
echo '<style type="text/css">
h1 a {background-image: url('.get_bloginfo('template_directory').'/images/login_logo.png) !important; }
</style>';
}
add_action('login_head', 'custom_loginlogo');
コードスニペットが与えられると、複数の場所に追加されることがあるので、PHPの終了タグと開始タグが含まれないことがあります。
このようなコードスニペットをテーマファイルに追加するときは、PHPタグの中に入っていることを確認する必要があります。