WordPressのテンプレートタグメモ
WordPressのテンプレートタグメモ。随時更新予定。
WordPressのテンプレートタグ
WPではファイルに指定のタグを記述しサイトを構築していく。
phpを記入することもあるが、ほとんどはテンプレートタグによって実装していく。
なんだかんだでDjangoやRoRと同じような感じで分かりやすかった。
以下、順不動でメモしていく。
language_attributes()
htmlタグの箇所でjaやenなどを出力。
出力される言語はWP管理画面の一般設定でセットした「サイトの言語」に準拠する。
body_class()
bodyタグに自動でクラスを付与
wp_body_open()
bodyタグの開始後に任意のコードを挿入。
使用例としては、gtagなどをfunctions.phpで管理できる。
参考:wp_body_open() を使ってbody開始タグのすぐあとにソースコードを簡単に挿入する方法
wp_head()
header.phpのhead閉じタグ直前に記載。
お決まりのような形で記入する。ヘッダーであることの宣言か?とも思ったが、記述することでスタイルシートの読み込みコードやJSなんかのコードを出力してくれるのでheadタグ内に必須のテンプレートタグ。
wp_footer()
body閉じタグの直前に記載。効果は上に同じ。
参考:wp_head();とwp_footer();とはいったい何なのか
get_header()
分割したheader.phpを呼び出す
get_footer()
分割したfooter.phpを呼び出す
get_sidebar()
分割したsidebar.phpを呼び出す。最近ではサイドバーなしの1カラムも多くなったのでサイドバー がない場合は、無理に使う必要はない。
have_posts()
クエリにループできるデータがあるかチェックする。
要はループできる記事があるかを真偽で返す。
while ( have_posts() ) : the_post(); // ループ内のコード endwhile;
基本的には上記のような形でpostsをぶん回す。
the_title()
投稿のタイトルを出力
the_time()
投稿の公開日を出力。
運用していくと最終更新日も出力したいところ。
その場合は
the_modified_date(
'Y/m/d'
)
で出力。
the_excerpt()
投稿の抜粋を出力。
引数を与えれば出力文字数を制御できると思ってたけど、別途functions.phpに記載しないといけないみたい。めんどうだ・・・
the_author()
記事の執筆者を出力
the_permalink()
投稿のURLを出力
get_template_directory_uri() ディレクトリパスを動的に出力 get_template_part('任意のパスを記載') 任意のファイルを分割し、呼び出すことができる。 例えば、navタグなどの共通部分を分割して出力できるようになる。 the_content() 投稿の本文を出力 add_theme_support('任意の引数') functions.phpに記載。 例えばアイキャッチなど。 デフォルトではテーマでアイキャッチ使えないので、機能として追加していく。 WordPressを運用するだけでは気付けないことが色々あって面白い。 the_post_thumbnail() 記事のアイキャッチ画像を出力。 これはimgタグを含む全て。パスだけの出力でないので注意。 なお、引数にarray(50, 50)のように記述するとリサイズされる。
wp_get_attachment_image_src()
添付画像のパスを出力。
例えば、引数に投稿のサムネイル idを入れれば、サムネイルのパスを出力する。
get_post_thumbnail_id()
投稿のサムネイル画像のidを取得する。
上記のwp_get_attachmentと組み合わせて使用。
$id = get_post_thumbnail_id(); $img = wp_get_attachment_image_src($id); なお、htmlに出力する時は$img[0]のように配列の先頭を指定する。面倒だ・・・ これは出力されるものが、単に画像パスではなく画像のサイズや真偽値を配列で返すため。
なお、引数に任意のサイズを入れることで出力時のサイズも調整可能。
WPはもともとアップロードした画像をthumbnail、medium、large、fullと保存される。
例えば、個別ページトップにサムネイル画像をヒーローイメージのように使用したい場合は、以下のような記述する。
wp_get_attachment_image_src($id, ‘large’);
has_post_thumbnail()
投稿がアイキャッチを保持しているか否かを真偽値で返す。
使用例としてはアイキャッチ画像がなければ事前に用意した画像を表示させるなど。
get_next_posts_link() / get_previous_posts_link()
ページネーションリンクURLを取得する。
register_nav_menus()
functions.phpに記載。テーマでメニューを実装する
wp_nav_menu()
メニューを表示。ただし、素のulタグが出力されるので引数でclassを指定したりする必要がある。
bloginfo(‘引数’)
ブログのタイトルなどの情報を表示。引数に指定のものを記述することで管理画面で入力した情報を引っ張ってこれる。
bloginfo(‘name’)でタイトルなど。
home_url()
WPのホームページへのURLを出力。