header.php language_attributes();関数の説明

header.php language_attributes();関数の説明

以前の記事でheader.phpが紹介しきれなかったのでこちらで追記紹介致します。このページの目的はheader.phpの記述でこのlanguage_attributes();Wordpressの関数はSEO的に要るのか?要らないのか?をハッキリさせる為に掘り下げています。

WordPress 初心者の為のheader.php解説(説明)←クリックするとジャンプ出来ます。

まずは関数の基本の説明から致します。

 

スポンサーリンク

関数の使い方

まずは簡単な関数の使い方を説明します。関数はほぼ全ての言語で使われるものになります。一番身近なのでエクセル等も関数を使って必要条件を挿入して・もしくは空白で実行処理することにより必要とされる値を簡素的に取り出せる事が出来ます。

関数の呼び出し

関数名前();

これで関数を呼び出して実行される事になります。凄く簡単ですね。

関数の実行文

function 関数数名(){ 関数実行コード }

これで呼び出された関数が実行されます。凄く簡単ですね。functionはお決まりです。空白・ローマ字全て半角で記載する必要が有ります。

 

Wordpress関数 language_attributes();の(解説)説明1

WordPress関数 language_attributes();の(解説)説明1

 

では一つ例で関数を作ってみたいと思います。

関数呼び出し例

関数の呼び出し例①

tasizan(1);

関数の呼び出し例②

tasizan(1,2);

足し算(tasizan)と言う名前の関数呼び出し文を作成しました。()の中に数1と2を与えてみました。複数の条件を記載する場合は,で分ける事が可能です。しかし2つ選ぶ場合は関数の実行文も2つ対応している事が条件です。関数の実行文が一つしか対応していない場合は関数の呼び出しを2回繰り返す必要が有ります。では見てみましょう。

関数の実行文例

 

関数の実行文例①

<php?
//変数の宣言
$suuzi;
//関数の作成
function tasizan(suuzi){
//関数の実行
  suuzi+1=suuzi;
//関数の出力
  echo "suuzi";
}
?>

 

$suuzi(数字) suuziと言う名前で変数の宣言をしている文になります。変数とは数字・文字が入る箱だと思って下さい。

 

Wordpress関数 language_attributes();の(解説)説明2

WordPress関数 language_attributes();の(解説)説明2

 

function tasizan(); 関数呼び出し例①のtasizan(1); はここで実行して下さいと命令しています。

(suuzi) 関数呼び出しで入力した値が入ります。 関数の呼び出し例①tasizan(1); で()内は1と入力したので suuzi には 1 が入ります。

{ ここから実行文ですよ教えてます。

$suuzi+1; この時点でsuuziは1になりますので1+1=と言う計算になります。=suuziで1+1=2になりますので変数suuziが2に書き変わります。

echo (“suuzi”); echoで出力になります。その対象が(“suuzi”); になります。変数suuziは上記の計算で2になりましたよね。なので出力される数値は2になります。

}; ここで終わりですと教えてます。

 

Wordpress関数 language_attributes();の(解説)説明3

WordPress関数 language_attributes();の(解説)説明3

 

関数の実行文例②

<php?
//変数宣言
$suuzi1;
$suuzi2;
//関数の作成
function tasizan(suuzi1,suuzi2){
//関数の実行
  suuzi1+1=suuzi1;
  suuzi1+suuzi2=suuzi2
//結果の出力
  echo "suuzi1,suuzi2";
}
?>

 

$suuzi1; suuzi1と言う名前で変数宣言しています。

$suuzi2; suuzi2と言う名前で変数宣言しています。

function tasizan(); 関数呼び出し例②のtasizan(1,2);はここで実行して下さいと命令しています。

(suuzi1,suuzi2)=関数呼び出しで入力した値が入ります。 関数の呼び出し例②tasizan(1,2); で()内は1,2と入力したので suuzi1 には 1 が入ります。 suuzi2 には 2 が入ります。

{=ここから実行文ですよ教えてます。

suuzi1+1この時点でsuuzi1は1になりますので1+1=と言う計算になります。=suuzi1で1+1=2になりますので変数suuziが2に書き変わります。

suuzi1+suuzi2上記の計算でsuuzi1は2で、この時点でのsuuzi2は2が入りますので2+2=と言う計算になります。=suuzi2で2+2=4になりますので変数suuzi2が4に書き変わります。

echo “suuzi1,suuzi2″;=echoで出力になります。その対象が”suuzi1,suuzi2”;になります。変数suuzi1は上記の計算で2になりましたよね。なので出力される数値は2になります。変数suuzi2は上記の計算で4になりましたよね。なので出力される数値は4になります。この場合だと2,4が出力されることになります。

};=ここで終わりですと教えてます。

 

Wordpress関数 language_attributes();の(解説)説明4

WordPress関数 language_attributes();の(解説)説明4

 

以上が関数の使い方になります。最初は分かり難いとは思いますが見てるうちに分かって来ますのでドンドンheader.phpの関数を見て行きましょう。

 

language_attributes(); 関数

実行されるファイルの保存場所はwp-includes/general-template.phpとなります。コードは以下の様になります。

function language_attributes( $doctype = 'html' ) {
  echo get_language_attributes( $doctype );
}

以下が説明になります。

function language_attributes( $doctype = 'html' )

関数の呼び出しに対しての実行箇所を示すコードになります。

$doctypeで変数宣言を()内で行っています。そして=htmlで変数にhtmlを与えています。

echo get_language_attributes( $doctype );}

echo =出力ですね。

get_language_attributes( $doctype );はget_language_attributes();Wordpressの関数です。()内でhtmlで実行しろと言う文になります。

get_language_attributes(); Wordpress関数

同じファイル内に記載がありました。wp-includes/general-template.php

function get_language_attributes( $doctype = 'html' ) {
  $attributes = array();

  if ( function_exists( 'is_rtl' ) && is_rtl() )
    $attributes[] = 'dir="rtl"';

    if ( $lang = get_bloginfo('language') ) {
      if ( get_option('html_type') == 'text/html' || $doctype == 'html' )
        $attributes[] = "lang=\"$lang\"";

        if ( get_option('html_type') != 'text/html' || $doctype == 'xhtml' )
          $attributes[] = "xml:lang=\"$lang\"";
        }

    $output = implode(' ', $attributes);
return apply_filters( 'language_attributes', $output, $doctype );
}
function get_language_attributes( $doctype = 'html' )

先ほどと同じ記載文ですね。省略します。

$attributes = array();

attributes変数宣言しています。

そして array();は配列変数です。配列変数とは一つの変数に複数の変数を入れる箱になります。つまり仕切りの有る箱だと思って下さい。arryを使う事により箱に仕切りが出来ました。

if ( function_exists( 'is_rtl' ) && is_rtl() )

ifでもしと言う文になります。

function_exists( ‘is_rtl’ )で関数の定義をしていますね。

&&は共に値が有る時になります。

is_rtl() でWordpress関数の実行です。アラビア語やヘブライ語の様に右から左へ読まれるのかを確認する為の関数になるみたいです。

ファイル保管場所はwp-includes/locale.phpになるみたいです。アラビア語やヘブライ語に対応して書いてる人は覗いて下さい。結果からいいますとここは無視してもいいです。日本語では実行されません。

if ( $lang = get_bloginfo('language') ) {

if文でもしと言う文になります。

$langが変数宣言でその中に入るのが get_bloginfo(‘language’)です。

get_bloginfo()はWordpressの関数で値を見に行く関数になります。()内にlanguageと入れる事によりWordpressで設定してる言語になります。つまり日本語です。変数langには日本語が入っています。

そしてifが実行されるのでその下のコードを読みに行きます。

if ( get_option('html_type') == 'text/html' || $doctype == 'html' )

if文ですね。

get_option()はWordpressの関数になります。ファイル保管場所はwp-includes/option.phpになります。

(‘html_type’)で実行しなさいと言う記述になります。これだけでは分からないので覗いてみましょう。と言いたい所ですがこれも非常に長い・・・・返り値だけ説明しておきます。私の場合は’text/html’と出力されます。

get_option(‘html_type’) が’text/html’と出力されて==は絶対一致と言う条件になり’text/html’ と照らし合わせています。そして||はかつと言う条件になります。

変数doctypeは’html’が入っていましたよね。そして==で絶対一致条件で’html’と照らし合わせています。

では簡単に説明します。 ‘text/html’ と’text/html’ でなおかつ ‘html’ と ‘html’ なら以下のコードを実行しなさいと記載されている文になります。

$attributes[] = "lang=\"$lang\"";

attributesは仕切りのある変数でしたよね。ここに入る変数はlang=と日本語が入ります。

if ( get_option('html_type') != 'text/html' || $doctype == 'xhtml' ){$attributes[] = "xml:lang=\"$lang\"";}

if(get_option(‘html_type’) != ‘text/html’ =イコールの前に!ビックリマークがあるので否定文です。

‘text/html’ と ‘text/html’ では一致していれば実行されないコードになります。

get_option(‘html_type’)に ‘text/html’ 以外の出力があって $doctype == ‘xhtml’ が一致した場合に実行されます。

以上の事によりget_option(‘html_type’) != ‘text/html’ が一致していなくて、$doctype == ‘xhtml’ が一致していれば実行されるコードになります。

そして変数attributesが入るのはxhtml:lang=と日本語になります。

少し脱線してxhtmlが実行される場合の説明を致します。どういった場合にこの条件が実行されるかと言うとWordpress関数を書き変える事のよりxhtmlを使用する事が出来ます。しかしコアファイルと言われる関数関連のファイルを書き変えるのはお勧め致しません。バージョンUP・プラグインを使う場合にどの様な影響が有るか?分からないからです。どうしてもxhtmlの使用をしようしたい場合はバージョンUP・プラグインする時は元に戻す様にして下さい。

function get_language_attributes( $doctype = ‘html’ )赤字の部分をxhtmlに変更するとxhtmlが使えます。※お勧めしません。

$output = implode(' ', $attributes);

変数outputが宣言されています。

そしてPHP関数の implode();が呼び出されています。

(‘ ‘, $attributes);がその関数に対する条件になります。

implode();は変数を結合する関数になります。

先ほどの複数に分かれた変数を一つにして変数outputに入れています。

return apply_filters( 'language_attributes', $output, $doctype );

returnとは返り値を返すと言う意味になります。最後に説明します。

apply_filters();はWordpress関数になります。フィルターフックを新規作成する事が出来る関数です。フィルターフックとはある特定のタイミングで実行される関数です。閲覧ユーザーの場合だとブログ・サイトが表示される瞬間に新規作成される関数だと思って下さい。

( ‘language_attributes’, $output, $doctype );が新規に作成されると言う事です。

これで閲覧してくれているユーザーに合った条件を作成する事が出来るのです。

ここでは’language_attributes’と言う関数の$output, $doctype の値が新規作成されると言う記述になります。そしてreturnで最初に呼び出したlanguage_attributes(); に値を与えています。

以上の事によりlanguage_attributes(); が実行されたら私の場合は<html lang=”ja”>と表示される様になります。ipとは言語コードになりましてJAPANつまり日本です。Wikiさんの言語コード一覧です←クリックするとジャンプします。

 

Wordpress関数 language_attributes();の(解説)説明4

WordPress関数 language_attributes();の(解説)説明4

 

WordPress関数 language_attributes();の(解説)説明は以上になります。元気な時にでも get_option();関数を掘り下げたいと思います。

 

結果Wordpressの関数language_attributes();は・・・・

色んな言語で対応されていますが自分のブログ・サイトが日本語のみの対応であれば、ここまで関数を呼び出して使用するまでも無い関数だと私は判断致します。色んな国でサイトを立ち上げてその言語に対してケアーされている場合でもその国の言語コードに切り替えてブログ・サイトを作成されて方がSEO的にはいいと私は判断致します。自作したテーマをWordpressのテーマ登録する際は必須ですけどね。

 

ここまで読んで頂いてありがとうございます。これからも分かり易い説明をしていきたいと思いますのでどうぞ宜しくお願いします。

 

 

関連記事一覧

お名前.comとさくらのサーバーとWordPressの設定・接続
WordPress自動インストール後ドメイン直下に設置する
WordPress sidebar.php 初心者の為のコード説明
記事公開前WordPressインストール後の絶対必要な初期設定?
WordPress 初心者の為のheader.php解説(説明)
SEO対策 header.php コードを見直し表示速度を上げる
WordPress関数を使ってブログ内に関連記事を設置する方法
スポンサーリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です