WordPressで作成したサイトの様々な情報を取得できるbloginfo()
関数ですが、色々と非推奨になったりしてて注意が必要です。
bloginfo()
の現状確認と、非推奨パラメータの代わりとなる関数についてメモしていこうと思います。
各パラメータについて
例として、「http://www.example.com」というURLを想定します。
$site_url
= http://www.example.com です。
('パラメータ') | 返される値 |
---|---|
'home' | (廃止!) $site_url |
'siteurl' | (廃止!) $site_url ※ 管理画面の「設定 > 一般」で設定された「サイトアドレス (URL)」 |
'stylesheet_directory' | (非推奨!) $site_url/wp/wp-content/themes/ex_theme ※ アクティブなテーマディレクトリーの URL |
'stylesheet_url' | (非推奨!) $site_url/wp/wp-content/themes/ex_theme/style.css ※ プライマリーな CSS (usually style.css) ファイルの URL |
'template_directory' | (非推奨!) $site_url/wp/wp-content/themes/ex_theme ※ アクティブなテーマのディレクトリー URL |
'template_url' | (非推奨!) $site_url/wp/wp-content/themes/ex_theme ※ アクティブなテーマのディレクトリー URL |
'url' | (非推奨!) $site_url |
'wpurl' | (非推奨!) $site_url/wp ※ 管理画面の「設定 > 一般」で設定された「WordPress アドレス (URL)」 |
'name' | サイトのタイトル ※ 管理画面の「設定 > 一般」で設定された「サイトのタイトル」 |
'description' | サイト説明文 ※ 管理画面の「設定 > 一般」で設定された「キャッチフレーズ」 |
'html_type' | text/html ※ Content-Type |
'language' | ja ※ WordPressの言語 |
'version' | 使用中のWordPressバージョン |
'charset' | UTF-8 |
'admin_email' | admin@example.com ※ 管理画面の「設定 > 一般」で設定された「メールアドレス」を表示 |
'atom_url' | $site_url/feed/atom |
'comments_atom_url' | $site_url/comments/feed/atom |
'comments_rss2_url' | $site_url/comments/feed |
'pingback_url' | $site_url/wp/xmlrpc.php |
'rdf_url' | $site_url/feed/rdf |
'rss_url' | $site_url/feed/rss |
'rss2_url' | $site_url/feed |
'text_direction' | (非推奨!) ltr ※ HTML ページの文字の向き |
各パラメータに対応する別の関数
非推奨パラメータの代わりに推奨されている関数です。表にも書いていますが、呼び出すときは echo を付けてください。
非推奨パラメータ | 代わりとなる関数 (呼び出すときは echo を付ける) |
---|---|
'home' | home_url() |
'siteurl' | home_url() |
'stylesheet_directory' | get_stylesheet_directory_uri() |
'stylesheet_url' | get_stylesheet_uri() |
'template_directory' | get_template_directory_uri() (子テーマなら) get_stylesheet_directory_uri() |
'template_url' | get_template_directory_uri() (子テーマなら) get_stylesheet_directory_uri() |
'url' | home_url() |
'wpurl' | site_url() |
'text_direction' | is_rtl() ※ rtlである場合は true、ltr (Left To Right) の場合は falseを返す関数 |
ややこしいやつ
home_url() と site_url()の違い
説明ではhome_url() は「サイトアドレス」、site_url() は「WordPressアドレス」となっています。
サイトアドレスとはサイトのトップページを表示している時のurlで、WordPressアドレスとはWordPressをインストールしたディレクトリまで含めたアドレス。インストールの仕方によってこれらが別の場合もあれば同じの場合もある。
設定 > 一般 から変更できるし、データベースを直接いじって変えることもできますね。
get_stylesheet_uri() と get_template_directory_uri()
日本語Codexによると、
現状のテーマで使われているスタイルシートの URI を返す関数です。スタイルシートのファイル名は get_stylesheet_directory_uri() のパスに対して付与される 'style.css' となります。
有効化している テンプレート ディレクトリの URI を取得する。SSL が存在するかチェックする。子テーマを使用している場合、親テーマのディレクトリの URI を返します。子テーマのディレクトリを取得するには get_stylesheet_directory_uri() を使用します。
注意: 末尾にスラッシュ( / )は含まれません。
こちらのサイトでは、以下のような違いがあると説明されています。
get_template_directory_uri()は有効化しているWordPressテーマもしくは親テーマのテーマディレクトリURLを取得し、get_stylesheet_directory_uri()は、有効化しているWordPressテーマのテーマディレクトリURLを取得します。
get_template_directory_uri()をもう少し細かくいうと、親テーマで使用した場合は、get_stylesheet_directory_uri()と変わらずに有効化してあるWordPressテーマのテーマディレクトリURLの取得します。小テーマで使用した場合は、子テーマのstyle.cssに書かれている「Template」をみてテーマディレクトリURLを取得しています。
親テーマを使用している時は返す値に違いはないみたいなので、親テーマを使用しているなら深く考えなくてよさそう。
get_template_directory()とget_template_directory_uri()の違い
以下にメモしていますので、参考にしてみてください。