(同じ利用者による、間の10版が非表示)
168行目: 168行目:
|投稿者の記事投稿アーカイブページへの URL を取得
|投稿者の記事投稿アーカイブページへの URL を取得
|}
|}
===post-thumbnail-template.php(アイキャッチ画像タグ)===
{| class="wikitable" summary="アイキャッチ画像タグ"
|-
!<code>get_post_thumbnail_id</code>
|アイキャッチ画像の ID を取得
|-
!<code>the_post_thumbnail</code>
|アイキャッチ画像を表示
|-
!<code>get_the_post_thumbnail</code>
|アイキャッチ画像の HTMLタグを出力
|}
===post-template.php(投稿タグ)===
{| class="wikitable" summary="投稿タグ"
|-
!<code>body_class</code>
|bodyタグに現在の投稿IDをクラス属性として付加
|-
!<code>next_image_link</code>
|次の画像へのリンクを表示。通常は attachment.php で利用
|-
!<code>previous_image_link</code>
|前の画像へのリンクを表示
|-
!<code>next_post_link</code>
|次の投稿へのリンクを表示。通常は記事ページで利用
|-
!<code>previous_post_link</code>
|前の投稿へのリンクを表示
|-
!<code>next_posts_link</code>
|次の複数の投稿へのリンクを表示。通常は記事ページで利用
|-
!<code>previous_posts_link</code>
|前の複数の投稿へのリンクを表示
|-
!<code>post_class</code>
|現在の投稿IDをクラス属性として取得
|-
!<code>post_password_required</code>
|投稿表示にパスワード入力が必要かどうかをチェック
|-
!<code>posts_nav_link</code>
|前ページと次ページのナビリンクをセットで表示
|-
!<code>the_content</code>
|投稿本文を表示。ループ内で利用。パラメータで「続きを読む」などの文字列も指定できる
|-
!<code>the_excerpt</code>
|<nowiki>投稿の抜粋に [...] を付けて<p>で囲んで表示</nowiki>
|-
!<code>get_the_excerpt</code>
|<nowiki>投稿の抜粋に [...] を付けて取得。ループ内で利用</nowiki>
|-
!<code>the_excerpt_ress</code>
|投稿の抜粋をフィード形式で出力
|-
!<code>the_ID</code>
|現在の投稿の ID を取得。ループ内で利用
|-
!<code>post_meta</code>
|投稿メタ情報を表示
|-
!<code>the_title</code>
|現在の投稿タイトルを取得。ループ内で利用
|-
!<code>get_the_title</code>
|投稿ID を指定して投稿タイトルを取得
|-
!<code>title_attribute</code>
|投稿タイトルを HTMLタグなどで装飾して表示
|-
!<code>the_title_rss</code>
|フィード用に整形された投稿タイトルを出力
|-
!<code>wp_link_pages</code>
|投稿のページングリンクを出力
|-
!<code>get_attachment_link</code>
|添付ファイルの URL を取得
|-
!<code>wp_get_attachment_link</code>
|より詳細な除法を含んだ添付ファイルへのリンクを取得
|-
!<code>the_attachment_link</code>
|画像サイズなどを指定しつつ添付ファイルへのリンクを取得
|-
!<code>is_attachment</code>
|添付ファイルの有無をチェック
|-
!<code>wp_attachment_is_image</code>
|添付ファイルが画像かどうかチェック
|-
!<code>wp_get_attachment_image</code>
|添付ファイルが画像の場合、その img要素を取得
|-
!<code>wp_get_attachment_image_src</code>
|添付ファイルが画像の場合、その img要素の URL, 高さ, 幅を取得
|-
!<code>wp_get_attachment_metadata</code>
|添付ファイルの ID を指定してメタデータを取得
|-
!<code>get_the_date</code>
|投稿の日付を取得
|-
!<code>single_month_title</code>
|投稿の月・年名を表示
|-
!<code>the_date</code>
|記事の投稿日 / 更新日を表示
|-
!<code>the_date_xml</code>
|YYYY-MM-DD形式で記事の投稿日 / 更新日を表示
|-
!<code>the_modified_author</code>
|投稿を最後に編集したユーザを表示
|-
!<code>the_modified_date</code>
|投稿を更新した日付(時刻)を表示
|-
!<code>the_modified_time</code>
|投稿を更新した時刻(日付)を表示
|-
!<code>the_time</code>
|投稿の公開日時を表示。ループ内で利用
|-
!<code>get_the_time</code>
|投稿の公開日時を取得
|-
!<code> the_shortlink</code>
|投稿に短縮URL があればそれを表示
|-
!<code>get_the_shortlink</code>
|投稿に短縮URL があればそれを取得
|}
===category-template.php(カテゴリータグ)===
{| class="wikitable" summary="カテゴリータグ"
|-
!<code>category_description</code>
|カテゴリーの説明を取得
|-
!<code>single_cat_title</code>
|ループの外側でカテゴリー名を表示
|-
!<code>the_category</code>
|現在のカテゴリーリンクを表示。ループ内で利用
|-
!<code>the_category_rss</code>
|記事が所属するカテゴリーをフィード用にフォーマットされた形式で出力
|-
!<code>the_dropdown_categorys</code>
|ドロップダウンメニューを利用してカテゴリーリストを表示
|-
!<code>wp_list_categorys</code>
|リンク付きでカテゴリーリストを表示
|-
!<code>single_tag_title</code>
|現在のページのタグタイトルを表示
|-
!<code>tag_description</code>
|タグの説明を表示
|-
!<code>the_tags</code>
|記事のタグ一覧を表示
|-
!<code>wp_geterate_tag_cloud</code>
|タグクラウドを生成
|-
!<code>wp_tag_cloud</code>
|タグクラウドを表示
|-
!<code>term_description</code>
|タームID やタクソノミーを指定して特定のタームの説明を取得
|-
!<code>single_term_title</code>
|現在のページのタームタイトルを取得。通常はカスタム分類ページで利用
|-
!<code>get_the_term_list</code>
|指定のカスタム分類のターム一覧をリンク付きで表示
|-
!<code>the_terms</code>
|記事に付けられたタームを表示
|-
!<code>the_taxonomes</code>
|記事のカスタム分類のリストをリンク付きで表示
|}
===bookmark.php(ブックマークタグ)===
{| class="wikitable" summary="ブックマークタグ"
|-
!<code>wp_list_bookmarks</code>
|サイト内へのリンクを自由に指定してリスト表示
|-
!<code>get_bookmark</code>
|ブックマークリンクID を元にしてブックマークデータを取得
|-
!<code>get_bookmark_field</code>
|単一のブックマークデータを取得
|-
!<code>get_bookmarks</code>
|複数のブックマークデータを取得
|}
===link-template.php(リンクタグ)===
{| class="wikitable" summary="リンクタグ"
|-
!<code>user_trailingslashit</code>
|パーマリンク末尾のスラッシュを調整する
|-
!<code>permalink_ancher</code>
|id や title 付きのアンカータグを出力。ループ内で利用
|-
!<code>the_permalink</code>
|記事のパーマリンクを表示。ループ内で利用
|-
!<code>get_permalink</code>
|記事のパーマリンクを取得。ループの外で利用
|-
!<code>get_post_permalink</code>
|カスタム投稿タイプのパーマリンクを取得
|-
!<code>post_permalink</code>
|記事ページのパーマリンクを取得
|-
!<code>get_page_link</code>
|特定の固定ページのパーマリンクを取得
|-
!<code>get_attachment_link</code>
|PHP内で使うデータとして添付ファイルのマーマリンクを取得
|-
!<code>edit_comment_link</code>
|コメント編集のリンクを表示。ログイン時に限る
|-
!<code>edit_post_link</code>
|投稿編集のリンクを表示。ログイン時に限る
|-
!<code>get_edit_post_link</code>
|投稿編集リンクの RUL を取得
|-
!<code>get_delete_post_link</code>
|投稿をゴミ箱に入れる URL を取得
|-
!<code>edit_tag_link</code>
|タグを編集するリンクを表示。ループ内で利用
|-
!<code>get_admin_url</code>
|管理画面の URL を取得
|-
!<code>get_home_url</code>
|指定のプロトコルを付加した home.php の URL を取得
|-
!<code>get_site_url</code>
|サイトの URL を取得
|-
!<code>home_url</code>
|home.php の URL を取得
|-
!<code>site_url</code>
|コアファイルが置かれているパスを取得
|-
!<code>get_search_link</code>
|検索ページの URL を取得
|-
!<code>get_search_query</code>
|サイト内検索を行った時のクエリを取得
|-
!<code>the_search_query</code>
|サイト内検索を行った時のクエリを表示
|-
!<code>the_feed_link</code>
|フィードの URL を取得
|}
===comment-template.php(コメントタグ)===
(使う予定がないので省略)
==条件分岐タグ==
条件分岐を行いたいときに利用できるタグ。
{| class="wikitable" summary="条件分岐タグ"
|-
!<code>is_front_page</code>
|フロントページかどうか
|-
!<code>is_home</code>
|固定されたトップページかどうか
|-
!<code>is_admin</code>
|管理画面かどうか
|-
!<code>is_admin_bar_showing</code>
|管理バーが表示されているかどうか
|-
!<code>is_single</code>
|記事ページかどうか
|-
!<code><nowiki>is_single('[id] | [slug]')</nowiki></code>
|指定の記事ID あるいは記事スラッグのページかどうか
|-
!<code>is_sticky</code>
|先頭固定記事かどうか
|-
!<code><nowiki>is_sticky('[id] | [slug]')</nowiki></code>
|指定の記事ID あるいは記事スラッグの先頭固定記事かどうか
|-
!<code>is_page</code>
|固定ページかどうか
|-
!<code><nowiki>is_page('[id] | [slug]')</nowiki></code>
|指定の固定ページID あるいは固定ページスラッグのページかどうか
|-
!<code>is_page('template')</code>
|指定のテンプレートファイルかどうか
|-
!<code><nowiki>is_cateogry('[id] | [slug]')</nowiki></code>
|指定のID あるいはスラッグのカテゴリページかどうか
|-
!<code>is_tag()</code>
|タグページかどうか
|-
!<code>is_tag('hoge')</code>
|hogeタグを含むページかどうか
|-
!<code>is_archive</code>
|アーカイブページかどうか
|-
!<code>is_tax</code>
|カスタム分類ページかどうか
|-
!<code>is_tax('hoge')</code>
|hoge というカスタム分類のページかどうか
|-
!<code>has_term('hoge')</code>
|hogeタームを持つかどうか
|-
!<code>is_author</code>
|著者ページかどうか
|-
!<code><nowiki>is_author([id] | [name])</nowiki></code>
|指定のID あるいは名前の著者ページかどうか
|-
!<code>is_date</code>
|日付アーカイブページかどうか
|-
!<code>is_year</code>
|年別のアーカイブページかどうか
|-
!<code>is_month</code>
|月別のアーカイブページかどうか
|-
!<code>is_time</code>
|時刻別のアーカイブページかどうか
|-
!<code>is_new_day</code>
|投稿の日付が新しいかどうか
|-
!<code>is_search</code>
|検索結果ページかどうか
|-
!<code>is_404</code>
|エラーページかどうか
|-
!<code>is_atttachment</code>
|添付ファイルページかどうか
|-
!<code>is_singler</code>
|is_single, is_page, is_attachment のいづれかかどうか
|-
!<code>has_excerpt</code>
|抜粋があるかどうか
|-
!<code>has_excerpt('[id]')</code>
|指定の投稿ID の抜粋があるか
|-
!<code>has_nav_menu</code>
|登録済みナビゲーションメニューがあるかどうか
|-
!<code>in_the_roop</code>
|ループ内かどうか
|-
!<code>is_dynamic_sidebar</code>
|テーマがダイナミックサイドバーに対応しているかどうか
|-
!<code>is_multisite</code>
|マルチサイト機能を利用しているかどうか
|-
!<code>is_super_admin</code>
|ユーザが root かどうか
|-
!<code>is_user_logged_in</code>
|ユーザがログイン中かどうか
|-
!<code>is_child_theme</code>
|子テーマが利用されているかどうか
|-
!<code>has_post_thumbnail</code>
|投稿にアイキャッチ画像が登録されているかチェック
|}
==既存テーマの変更==
テーマがアップデートされた時に自分で修正した箇所がクリアされてしまうため、既存のテーマを修正する場合は「子テーマ」の利用が推奨されている。

2019年2月21日 (木) 21:19時点における最新版

WordPress では、用意されている専用タグを利用しながらテーマを作っていく。専用タグは PHP の function機能によって事前にあらゆるものが定義されている。

WordPressタグは機能の重複もあるし、良くも悪くも PHP - ハウルの動く城式言語と同じ感じ。公式wiki も非常に分りづらい。いずれこのセクションで綺麗に整理する。

  • テンプレートタグ
  • 条件分岐タグ
  • ???

テンプレートタグ

テンプレートタグは、WordPressタグの中でも特に「テーマ作成用」に用意されているタグ。データベースからあらゆる情報を引っ張ってきてくれる。

テンプレートタグ群は wp-includesディレクトリの中で9つに分類されて収納されている。

  1. general-template.php
  2. nav-menu-template.php
  3. author-template.php
  4. post-thumbnail-template.php
  5. post-template.php
  6. category-template.php
  7. bookmark-template.php
  8. link-template.php
  9. comment-template.php

general-template.php(一般タグ)

get_header header.php を取得
get_sidebar sidebar.php を取得
get_footer footer.php を取得
get_search_form searchform.php を取得。無ければ 組み込みの検索フォーム
get_template_part 指定の自作テンプレートファイルを取得
comments_template comments.php を取得。無ければ組み込みの検索フォーム
wp_login_url ユーザをログインさせるためのリンクを返す
wp_loginout ログイン・ログアウトのリンクを表示
wp_logout_url ユーザを安全にログアウトさせるさせるためのリンクを返す
wp_login_form ログインフォームを表示
wp_lostpassword_url パスワードを再取得するためのリンクを表示
wp_registar ユーザ登録のリンクを表示。許可している場合のみ
wp_meta sidebar.php やメタウィジェットに任意のリンクを追加
bloginfo サイトタイトルやサイトURLなど、サイトに関するあらゆる情報を表示
get_bloginfo PHPコード内で利用するためにサイトに関する情報を取得
get_current_blog_id ブログIDを取得。マルチサイト運用時に条件分岐させたい時など
wp_title 現在のページタイトルを表示。ver 4.4以降から非推奨
wp_get_document_title function.php に記述。現在のページタイトルを取得。ver 4.4以降から推奨
single_post_title 個別記事ページでループの外に記事タイトルを表示
post_type_archive_title 現在の投稿タイプのアーカイブページのタイトルを取得
single_cat_title 現在のページのカテゴリタイトルを取得
single_tag_title 現在のページのタグタイトルを取得
single_term_title 現在のページのタームタイトルを取得。通常はカスタム分類ページで利用
single_month_tilte 現在のページの月・年名を取得。月別アーカイブページにて利用
get_archives_link アーカイブページへのリンクを取得
wp_get_archives 日付ベースのアーカイブリストを表示
calender_week_mod 週が始まる日付を取得
get_calender カレンダーを表示
delete_get_calender_cache 取得したカレンダーに関するキャッシュを削除
allowed_tags 許可されている全てのタグを属性と一緒に HTMLフォーマットで表示
wp_enqueue_script 依存関係を解決しつつ適切なタイミングで生成されたページにリンク。JavaScript のリンク時に推奨

nav-menu-template.php(ナビゲーションタグ)

wp_nav_menu ナビゲーションメニューを表示
walk_nav_menu_tree ナビゲーションメニューの HTMLリストを取得

author-template.php(投稿者タグ)

get_author 投稿者の表示名を取得。ループ内で利用
get_the_author 投稿者のユーザ名を取得。ループ内で利用
the_author_link 投稿者のユーザ名を Webサイトリンク付きで表示
get_the_author_link PHP内で使うデータとして投稿者のユーザ名を Webサイトリンク付きで取得
the_author_meta 投稿者のメタ情報から好きな項目を表示
get_the_author_meta PHP内で使うデータとして投稿者のメタ情報から好きな項目を取得
the_author_posts 投稿者の投稿数を表示
get_the_author_post PHP内で使うデータとして投稿者の投稿数を取得
the_author_post_link 投稿者の記事一覧ページへのリンクを表示
wp_dropdown_users ドロップダウンメニューを利用してユーザ一覧を表示
wp_list_authors サイトの投稿者リストを表示
get_author_posts_url 投稿者の記事投稿アーカイブページへの URL を取得

post-thumbnail-template.php(アイキャッチ画像タグ)

get_post_thumbnail_id アイキャッチ画像の ID を取得
the_post_thumbnail アイキャッチ画像を表示
get_the_post_thumbnail アイキャッチ画像の HTMLタグを出力

post-template.php(投稿タグ)

body_class bodyタグに現在の投稿IDをクラス属性として付加
next_image_link 次の画像へのリンクを表示。通常は attachment.php で利用
previous_image_link 前の画像へのリンクを表示
next_post_link 次の投稿へのリンクを表示。通常は記事ページで利用
previous_post_link 前の投稿へのリンクを表示
next_posts_link 次の複数の投稿へのリンクを表示。通常は記事ページで利用
previous_posts_link 前の複数の投稿へのリンクを表示
post_class 現在の投稿IDをクラス属性として取得
post_password_required 投稿表示にパスワード入力が必要かどうかをチェック
posts_nav_link 前ページと次ページのナビリンクをセットで表示
the_content 投稿本文を表示。ループ内で利用。パラメータで「続きを読む」などの文字列も指定できる
the_excerpt 投稿の抜粋に [...] を付けて<p>で囲んで表示
get_the_excerpt 投稿の抜粋に [...] を付けて取得。ループ内で利用
the_excerpt_ress 投稿の抜粋をフィード形式で出力
the_ID 現在の投稿の ID を取得。ループ内で利用
post_meta 投稿メタ情報を表示
the_title 現在の投稿タイトルを取得。ループ内で利用
get_the_title 投稿ID を指定して投稿タイトルを取得
title_attribute 投稿タイトルを HTMLタグなどで装飾して表示
the_title_rss フィード用に整形された投稿タイトルを出力
wp_link_pages 投稿のページングリンクを出力
get_attachment_link 添付ファイルの URL を取得
wp_get_attachment_link より詳細な除法を含んだ添付ファイルへのリンクを取得
the_attachment_link 画像サイズなどを指定しつつ添付ファイルへのリンクを取得
is_attachment 添付ファイルの有無をチェック
wp_attachment_is_image 添付ファイルが画像かどうかチェック
wp_get_attachment_image 添付ファイルが画像の場合、その img要素を取得
wp_get_attachment_image_src 添付ファイルが画像の場合、その img要素の URL, 高さ, 幅を取得
wp_get_attachment_metadata 添付ファイルの ID を指定してメタデータを取得
get_the_date 投稿の日付を取得
single_month_title 投稿の月・年名を表示
the_date 記事の投稿日 / 更新日を表示
the_date_xml YYYY-MM-DD形式で記事の投稿日 / 更新日を表示
the_modified_author 投稿を最後に編集したユーザを表示
the_modified_date 投稿を更新した日付(時刻)を表示
the_modified_time 投稿を更新した時刻(日付)を表示
the_time 投稿の公開日時を表示。ループ内で利用
get_the_time 投稿の公開日時を取得
the_shortlink 投稿に短縮URL があればそれを表示
get_the_shortlink 投稿に短縮URL があればそれを取得

category-template.php(カテゴリータグ)

category_description カテゴリーの説明を取得
single_cat_title ループの外側でカテゴリー名を表示
the_category 現在のカテゴリーリンクを表示。ループ内で利用
the_category_rss 記事が所属するカテゴリーをフィード用にフォーマットされた形式で出力
the_dropdown_categorys ドロップダウンメニューを利用してカテゴリーリストを表示
wp_list_categorys リンク付きでカテゴリーリストを表示
single_tag_title 現在のページのタグタイトルを表示
tag_description タグの説明を表示
the_tags 記事のタグ一覧を表示
wp_geterate_tag_cloud タグクラウドを生成
wp_tag_cloud タグクラウドを表示
term_description タームID やタクソノミーを指定して特定のタームの説明を取得
single_term_title 現在のページのタームタイトルを取得。通常はカスタム分類ページで利用
get_the_term_list 指定のカスタム分類のターム一覧をリンク付きで表示
the_terms 記事に付けられたタームを表示
the_taxonomes 記事のカスタム分類のリストをリンク付きで表示

bookmark.php(ブックマークタグ)

wp_list_bookmarks サイト内へのリンクを自由に指定してリスト表示
get_bookmark ブックマークリンクID を元にしてブックマークデータを取得
get_bookmark_field 単一のブックマークデータを取得
get_bookmarks 複数のブックマークデータを取得

link-template.php(リンクタグ)

user_trailingslashit パーマリンク末尾のスラッシュを調整する
permalink_ancher id や title 付きのアンカータグを出力。ループ内で利用
the_permalink 記事のパーマリンクを表示。ループ内で利用
get_permalink 記事のパーマリンクを取得。ループの外で利用
get_post_permalink カスタム投稿タイプのパーマリンクを取得
post_permalink 記事ページのパーマリンクを取得
get_page_link 特定の固定ページのパーマリンクを取得
get_attachment_link PHP内で使うデータとして添付ファイルのマーマリンクを取得
edit_comment_link コメント編集のリンクを表示。ログイン時に限る
edit_post_link 投稿編集のリンクを表示。ログイン時に限る
get_edit_post_link 投稿編集リンクの RUL を取得
get_delete_post_link 投稿をゴミ箱に入れる URL を取得
edit_tag_link タグを編集するリンクを表示。ループ内で利用
get_admin_url 管理画面の URL を取得
get_home_url 指定のプロトコルを付加した home.php の URL を取得
get_site_url サイトの URL を取得
home_url home.php の URL を取得
site_url コアファイルが置かれているパスを取得
get_search_link 検索ページの URL を取得
get_search_query サイト内検索を行った時のクエリを取得
the_search_query サイト内検索を行った時のクエリを表示
the_feed_link フィードの URL を取得

comment-template.php(コメントタグ)

(使う予定がないので省略)

条件分岐タグ

条件分岐を行いたいときに利用できるタグ。

is_front_page フロントページかどうか
is_home 固定されたトップページかどうか
is_admin 管理画面かどうか
is_admin_bar_showing 管理バーが表示されているかどうか
is_single 記事ページかどうか
is_single('[id] | [slug]') 指定の記事ID あるいは記事スラッグのページかどうか
is_sticky 先頭固定記事かどうか
is_sticky('[id] | [slug]') 指定の記事ID あるいは記事スラッグの先頭固定記事かどうか
is_page 固定ページかどうか
is_page('[id] | [slug]') 指定の固定ページID あるいは固定ページスラッグのページかどうか
is_page('template') 指定のテンプレートファイルかどうか
is_cateogry('[id] | [slug]') 指定のID あるいはスラッグのカテゴリページかどうか
is_tag() タグページかどうか
is_tag('hoge') hogeタグを含むページかどうか
is_archive アーカイブページかどうか
is_tax カスタム分類ページかどうか
is_tax('hoge') hoge というカスタム分類のページかどうか
has_term('hoge') hogeタームを持つかどうか
is_author 著者ページかどうか
is_author([id] | [name]) 指定のID あるいは名前の著者ページかどうか
is_date 日付アーカイブページかどうか
is_year 年別のアーカイブページかどうか
is_month 月別のアーカイブページかどうか
is_time 時刻別のアーカイブページかどうか
is_new_day 投稿の日付が新しいかどうか
is_search 検索結果ページかどうか
is_404 エラーページかどうか
is_atttachment 添付ファイルページかどうか
is_singler is_single, is_page, is_attachment のいづれかかどうか
has_excerpt 抜粋があるかどうか
has_excerpt('[id]') 指定の投稿ID の抜粋があるか
has_nav_menu 登録済みナビゲーションメニューがあるかどうか
in_the_roop ループ内かどうか
is_dynamic_sidebar テーマがダイナミックサイドバーに対応しているかどうか
is_multisite マルチサイト機能を利用しているかどうか
is_super_admin ユーザが root かどうか
is_user_logged_in ユーザがログイン中かどうか
is_child_theme 子テーマが利用されているかどうか
has_post_thumbnail 投稿にアイキャッチ画像が登録されているかチェック

既存テーマの変更

テーマがアップデートされた時に自分で修正した箇所がクリアされてしまうため、既存のテーマを修正する場合は「子テーマ」の利用が推奨されている。