【WordPress】headタグに新しくコードを追加する簡単な方法(header.phpを編集せずfunctions.phpを使う)

wordpress-add-tags-in-head-easy-way WordPress
記事内に広告が含まれていることがあります。
[PR]

WordPressを使っていると、headタグの中にコードを追加したいことがあります。

通常であれば、テーマの中のheader.phpのheadタグ内に追記をするのですが、Wordpressでは、functions.phpを使って簡単にタグを追加することができます。

その手順について解説しています。

headタグに新しくコードを追加する簡単な方法

functions.phpを開く

まずは、functions.phpを開きます。FTPソフトなどなんでもいいのですが、今回はちょっとしたコードを追記するのみなので、Wordpressの管理画面からアクセスします。

「外観」→「テーマエディタ」→「テーマのための関数(functions.php)」をクリックします。

fucntions.phpが開き編集できる状態になります。


コードの追記

functions.phpを開いたら一番下に以下のコードを追記します。

コメントアウトでここにHTMLタグを追加と記述してあるところに、出力したいタグを入力してください。

//headerに追加するコード
function add_meta_in_head() {
	$add_codes = <<<EOT
	
	<!-- ここにHTMLタグを追加 -->
	
	EOT;
	echo $add_codes;
}
add_action( 'wp_head', 'add_meta_in_head');

コードを記述したら保存をお忘れなく。

WordPress上のエディタの場合は、「ファイルを更新」をクリックします。

※コードに文法エラーがあると更新できません。

例えばmetaタグやlinkタグを追加する場合は以下のようになります。

//headerに追加するコード
function add_meta_in_head() {
	$add_codes = <<<EOM
	
	<meta name="test" content="output by functions.php" />
	<link rel="stylesheet" href="test-style.css" type="text/css">
	
	EOM;
	echo $add_codes;
}
add_action( 'wp_head', 'add_meta_in_head');

ブラウザでソースコードを確認すると、headタグ内にきちんと追記されています。


コード解説

補足です。コードの処理が何をしているかについて解説しています。

//headerに追加するコード
function add_meta_in_head() {
	$add_codes = <<<EOT
	
	<!-- ここにHTMLタグを追加 -->
	
	EOT;
	echo $add_codes;
}
add_action( 'wp_head', 'add_meta_in_head');

add_action関数

この処理のコアともいえるのがadd_action関数です。これは、指定したタイミングで、指定した関数を実行する処理です。

add_action関数の基本構文は以下になります。

add_action( $hook, $function_to_add, $priority, $accepted_args );
  • $hook: どのタイミングで処理を実施するか
  • $function_to_add: 実行する関数
  • $priority: 処理実行の優先度。少ない数ほど先に実行される。初期値は10
  • $accepted_args: 関数に渡せる引数の数

$hookと$function_to_addは必須です。それ以外はオプションになります。

wp_headアクションフック

add_action関数の中でどのタイミングで実行するかを指定するフックには、wp_headを指定しています。

これは、テンプレートのwp_head関数が実行されるタイミングで呼び出されるものです。

wp_head関数は<head></head> セクションの中に記述されます(基本的にはhead閉じタグ直前)。

add_meta_in_head

add_actionで実行する関数はadd_meta_in_head関数になります。これは上のfunctionで自分で定義したものです。関数名は任意です。

function add_meta_in_head() {
	$add_codes = <<<EOT
	
	<!-- ここにHTMLタグを追加 -->
	
	EOT;
	echo $add_codes;
}
add_act

関数の処理は、変数 $add_codes に入力した値を、echoで出力しているだけです。

<<<EOT

変数の後ろの <<<EOTEOT; はPHPの記述でヒアドキュメント構文(Hear Doc.)と呼ばれるものです。

変数の中身が複数行になる場合に、<<<EOTEOT;で囲まれた部分を変数に代入することができます。

なお、EOTの部分をID(識別ID)といいます。スペースなどを入れない連続した文字で、開始ID名と終了ID名があっていれば、ID名はなんでもいいです。

<?php
class foo {
  $bar = <<<識別ID
  bar
  識別ID;
}
?>

よく使われるのは、EOT, EOF, EOM, EODなどです。

ID名内容
EOTEnd of Text
EOFEnd of File
EOMEnd of Message
EODEnd of Document

参考

タイトルとURLをコピーしました