WordPress テーマ作成入門

WordPress テーマ作成入門

こんにちは!
今日も頑張ろう

Appendix-2
主要関数・変数

目次

A2.1 はじめに

A2.1.1 概要

  • 本ページは、WordPress のテーマやプラグイン作成時に使用する主要関数・変数などについて記述しています。
  • WordPress には、多くの関数・変数などが定義されていますが、ここでは本サイトで説明するサンプルコードが使用しているものを中心に説明します。
  • これ以外にも多くの関数・変数などが定義されていますので関連図書や関連サイトを一読することをお薦めします。

A2.1.2 機能から関数・変数名の索引

  1. エスケープ・翻訳の関連関数

    • __(アンダースコアを 2 個)(テキスト翻訳を返却)
    • _e(アンダースコアを 1 個と 'e')(テキスト翻訳を表示)
    • esc_attr(HTML 特殊文字をエスケープして返却)
    • esc_attr_e(翻訳後に HTML 特殊文字をエスケープして表示)
    • esc_html(HTML のエスケープ処理して結果を返却)
    • esc_html_e(HTML のエスケープ処理した翻訳テキストを表示)
    • esc_html__(HTML のエスケープ処理した翻訳テキストを返却)
    • esc_textarea(複数行入力項目(textarea)のエスケープ処理して結果を返却)
    • esc_url(URL をクリーンアップして結果を返却)
    • load_theme_textdomain(テーマ翻訳ファイルを読み込み)
    • sanitize_textarea_field(複数行文字列のサニタイズ結果を返却)
    • sanitize_text_field(単一行文字列のサニタイズ結果を返却)
    • wp_kses_post(コンテンツをサニタイズ(無害化))
  2. アクション・フィルターフックの関連関数

    • add_action(アクションフックの登録)
    • add_filter(フィルターフックの登録)
    • remove_action(アクションフックの削除)
    • remove_filter(フィルターフックの削除)
    • wp_body_open('wp_body_open' アクションをスタート)
    • wp_footer('wp_footer' アクションをスタート)
    • wp_head('wp_head' アクションをスタート)
  3. テーマ・スタイルシートの関連関数

    • add_editor_style(CSS ファイルをエディタに紐付け)
    • get_stylesheet_directory(スタイルシートディレクトリのパスを取得)
    • get_stylesheet_directory_uri(スタイルシートディレクトリの URI を取得)
    • get_template_directory(テーマのディレクトリへの絶対パスを取得)
    • get_template_directory_uri(テーマのディレクトリへの URI を取得)
    • wp_enqueue_script(スクリプト定義を追加)
    • wp_enqueue_style(スタイルシート定義を追加)
  4. メタボックスの関連関数

    • add_meta_box(メタボックスの登録)
    • get_post_meta(投稿メタフィールドデータを取得)
    • update_post_meta(カスタムフィールドの値を更新)
  5. 設定ページの関連関数

    • add_menu_page(設定ページのメニュー登録)
    • add_settings_field(設定ページにフィールドの登録)
    • add_settings_section(設定ページにセクションの登録)
    • add_submenu_page(設定ページのサブメニュー登録)
    • do_settings_sections(設定ページにセクションを表示)
    • get_option(オプションの値を取得)
    • register_setting(オプションの設定情報の登録)
    • settings_fields(オプションの設定情報の表示)
    • submit_button(送信ボタンの表示)
  6. ショートコードの関連関数

    • add_shortcode(ショートコードの登録)
    • remove_shortcode(ショートコードの削除)
    • shortcode_atts(ショートコードがサポートしている属性の設定)
  7. テーマ機能定義の関連関数

    • add_image_size(画像(サムネイル)サイズの登録)
    • add_theme_support(特定のテーマ機能のサポート許可)
    • register_nav_menu(カスタムメニューエディタへ登録)
    • register_nav_menus(複数のナビゲーションメニューを登録)
    • register_post_type(投稿タイプを登録)
    • register_sidebar(ウィジェットを登録)
    • set_post_thumbnail_size(アイキャッチ画像のデフォルトの大きさを指定)
  8. 変数・関数の検査・編集の関連関数

    • array_key_exists(PHP 関数)(配列にキーが設定されているかの検査)
    • checked(HTML checked 属性の表示・返却)
    • date(PHP 関数)(ローカル日付/時刻を書式化して返却)
    • empty(PHP 関数)(変数が空であるかの検査)
    • function_exists(PHP 関数)(指定した関数が定義されているかを返却)
    • in_array(PHP 関数)(配列に値があるかの検査)
    • isset(PHP 関数)(変数がセットされているかの検査)
    • nl2br(PHP 関数)(改行文字の前に br タグを挿入)
    • PHP_EOL(PHP 定数)(改行)
    • selected(HTML selected 属性の表示・返却)
    • sprintf(PHP 関数)(文字列を整形して結果を返却)
    • wptexturize(テキスト中の特定の記号の変換)
  9. サイト・ページ情報の関連関数

    • bloginfo(サイト情報の表示)
    • body_class(テンプレート種類のクラス名を表示)
    • get_bloginfo(サイト情報を取得)
    • get_category_link(カテゴリー ID のアーカイブページへの URL を取得)
    • get_header(ヘッダーテンプレートを読み込み)
    • get_option(オプションの値を取得)
    • get_pages(ページ(または階層構造を持つ投稿タイプのアイテム)の配列を取得)
    • get_permalink(投稿または固定ページのパーマリンクを取得)
    • get_post_format(投稿記事の投稿フォーマットを取得)
    • get_post_meta(投稿メタフィールドデータを取得)
    • get_theme_mod(テーマ設定値を取得)
    • get_the_author(投稿の投稿者名を取得)
    • get_the_category(投稿のカテゴリィ(リンク付き)を取得)
    • get_the_date(投稿の日付を取得)
    • get_the_excerpt(投稿の抜粋を取得)
    • get_the_ID(投稿の投稿 ID を取得)
    • get_the_modified_date(投稿の更新日を取得)
    • get_the_permalink(投稿のパーマリンクを取得)
    • get_the_posts_pagination(投稿の前・次ページへリンクするページ番号のセット(HTML)を取得)
    • get_the_post_thumbnail_url(投稿 ID からアイキャッチ画像の URL を取得)
    • get_the_time(投稿 ID から時刻を取得)
    • get_the_title(投稿 ID から投稿のタイトルを取得)
    • has_custom_logo(カスタムロゴの設定有無を返却)
    • has_nav_menu(メニューの割り当て有無を返却)
    • has_post_thumbnail(アイキャッチ画像の登録有無を返却)
    • have_posts(ループできる処理対象の有無を返却)
    • home_url(ホーム URL を返却)
    • is_404(404 ページの表示中か否かを返却)
    • is_active_sidebar(サイドバーにウィジェットが含まれているか否かを返却)
    • is_archive(一覧(アーカイブ)ページの表示中か否かを返却)
    • is_author(著者一覧(アーカイブ)ページの表示中か否かを返却)
    • is_category(カテゴリーアーカイブページの表示中か否かを返却)
    • is_date(日付に関連するアーカイブページの表示中か否かを返却)
    • is_front_page(フロントページの表示中か否かを返却)
    • is_home(ホームページの表示中か否かを返却)
    • is_page(既存の単一ページの表示中か否かを返却)
    • is_paged(複数ページで 2 ページ目以降か否かを返却)
    • is_search(検索結果ページの表示中か否かを返却)
    • is_single(投稿ページを表示中か否かを返却)
    • is_singular(投稿または固定ページを表示中か否かを返却)
    • is_tag(投稿タグアーカイブページを表示中か否かを返却)
    • language_attributes(<html> タグに言語属性を表示)
    • next_post_link(日付順でひとつ次の投稿のリンクを表示
    • previous_post_link(日付順でひとつ前の投稿のリンクを表示)
    • single_cat_title(ページタイトルを表示または返却)
    • single_tag_title(タグタイトルを表示または返却)
    • site_icon_url(サイトアイコンの URL を表示)
    • the_archive_title(アーカイブのタイトルを表示)
    • the_category(投稿のカテゴリィを表示)
    • the_content(投稿の本文を表示)
    • the_custom_logo(カスタムロゴを表示)
    • the_date(投稿の日付を表示)
    • the_excerpt(投稿の抜粋を表示)
    • the_ID(投稿の投稿 ID を表示)
    • the_modified_date(投稿の更新日を表示)
    • the_permalink(投稿のパーマリンクを表示)
    • the_post(処理する投稿を次の投稿へ進める)
    • the_post_navigation(投稿ページ向けナビゲーションを表示)
    • the_post_thumbnail(アイキャッチ画像の表示)
    • the_post_thumbnail_url(アイキャッチ画像の URL を表示)
    • the_posts_pagination(投稿の前と次のページへリンクするページ番号のセットを表示)
    • the_time(投稿の時刻を表示)
    • the_title(投稿のタイトルを表示あるいは返却)
    • wp_get_attachment_image_url(画像ファイルの URL を取得)
    • wp_link_pages(ページ分割された投稿のページリンクを表示)
    • wp_list_pages(ページリストの取得・表示)
    • wp_nav_menu(ナビゲーションメニューを表示)
    • WP_Query(投稿のクエリ(検索・取得)クラス)
    • wp_reset_postdata(メインクエリーループのコンテキストに復元)
  10. テンプレートの関連関数

    • comments_template(コメントテンプレートを読み込み)
    • dynamic_sidebar(ウィジェットの表示)
    • get_footer(フッターテンプレートを読み込み)
    • get_search_form(検索フォームテンプレートを読み込み)
    • get_sidebar(サイドバーテンプレートを読み込み)
    • get_template_part(テンプレートパーツを読み込み)
    • wp_footer('wp_footer' アクションをスタート)
    • wp_head('wp_head' アクションをスタート)

A2.2 主要関数・変数

A2.2.1 記号で始まる関数・変数

  1. __(アンダースコアを 2 個)(テキスト翻訳を返却)

    $text = __( $text, $domain )

    テキストを翻訳し結果を返却します。

    • 引数 1($text)に翻訳するテキストを指定します。
    • 引数 2($domain)に翻訳された文字列を取得するための一意の識別子を指定します。初期値は 'default' です。
    • 返却値($text)は、翻訳済みのテキストが返却されます。

    使用例は、以下の通りです。

    
    $text = __( 'Some text to translate and display.' );
    
  2. _e(アンダースコアを 1 個と 'e')(テキスト翻訳を表示)

    _e( $text, $domain )

    テキストを翻訳し結果を表示します。

    • 引数 1($text)に翻訳するテキストを指定します。
    • 引数 2($domain)に翻訳された文字列を取得するための一意の識別子を指定します。初期値は 'default' です。
    • 返却値は、ありません。

    使用例は、以下の通りです。

    
    _e( 'Some text to translate and display.' );
    

A2.2.2 「A」で始まる関数・変数

  1. add_action(アクションフックの登録)

    add_action( $hook_name, $callback, $priority, $accepted_args )

    アクションフックの登録を行います。

    • 引数 1($hook_name)は、登録するアクション名を指定します。以下に代表的なアクション名を示します。実際には数百のアクション名が定義されています。詳しいアクション名については「アクション名一覧」を参照してください。
      init
      WordPress のコア、プラグイン、テーマが読み込まれ WordPress オブジェクトが設定される前に実行されます。初期化の際に実行するカスタムコードを追加するのに適しています。
      admin_init
      管理画面のページが読み込まれるときに実行されます。管理画面でのみ必要なスクリプトやスタイルシートの登録に使用します。
      wp_enqueue_scripts
      ページが読み込まれる際にスクリプトやスタイルシートをキューに追加するために使用します。
      admin_enqueue_scripts
      管理画面のページが読み込まれる際にスクリプトやスタイルシートをキューに追加するために使用します。
      wp_head
      HTML の head 要素内にメタタグやスクリプトなどを追加するのに適しています。
      wp_footer
      HTML の body 要素内にスクリプトを出力したい場合に適しています。
      save_post
      投稿やページが作成、更新されたときに実行されます。カスタムメタデータの保存に便利です。
    • 引数 2($callback)は、イベント発生時に実行する処理関数を指定します。
    • 引数 3($priority)は、複数のアクションフックが登録されている時に実行する順序を指定します。値が小さいほど先に実行されます。初期値は 10 です。
    • 引数 4($accepted_args)は、関数呼び出し時に渡す引数の数を指定します。初期値は 1 です。
    • 返却値は、ありません。

    使用例は、以下の通りです。

    
    function custom_post_type_setup( ) {
    	// カスタム投稿タイプを登録するコード
    }
    add_action( 'init', 'custom_post_type_setup' );
    
  2. add_editor_style(CSS ファイルをエディタに紐付け)

    add_editor_style( $stylesheet )

    自分のスタイルシートファイルを TinyMCE ビジュアルエディターへ関連付けます。

    • 引数 1($stylesheet)は、現在のテーマディレクトリから相対パスで指定されたスタイルシートファイルまたは複数のスタイルシートファイルへのリンクを含む配列を指定します。
    • 返却値は、ありません。

    使用例は、以下の通りです。

    
    add_editor_style( 'css/style.css' );
    
  3. add_filter(フィルターフックの登録)

    add_filter( $hook_name, $callback, $priority, $accepted_args )

    フィルターフックの登録を行います。

    • 引数 1($hook_name)は、登録するフィルター名を指定します。以下に代表的なフィルター名を示します。詳しいフィルター名については「フィルター名一覧」を参照してください。
      the_content
      投稿やページのコンテンツが表示される前に適用されるフィルターです。コンテンツの表示をカスタマイズする際に使用します。
      the_title
      投稿やページのタイトルが表示される前に適用されます。タイトルの出力を変更するのに使用します。
      wp_title
      title タグに表示されるテキストをフィルタリングします。SEO 対策としてページタイトルを調整するのに便利です。
      post_thumbnail_html
      投稿のサムネイル(アイキャッチ画像)の HTML 出力を変更する際に使用します。
      widget_text
      テキストウィジェットの内容をフィルタリングする際に使用されます。
      body_class
      <body> タグに適用される CSS クラスをフィルタリングするために使用します。ページごとに異なるスタイリングを適用するのに便利です。
    • 引数 2($callback)は、データ加工時に実行する処理関数を指定します。
    • 引数 3($priority)は、複数のフィルターフックが登録されている時に実行する順序を指定します。値が小さいほど先に実行されます。初期値は 10 です。
    • 引数 4($accepted_args)は、関数呼び出し時に渡す引数の数を指定します。初期値は 1 です。
    • 返却値は、ありません。

    使用例は、以下の通りです。

    
    function add_signature_to_posts( $content ) {
    	$signature = 'ありがとうございました!';
    	return $content . $signature;
    }
    add_filter( 'the_content', 'add_signature_to_posts' );
    
    
    function modify_wp_title( $title, $sep ) {
    	$title .= ' - カスタムテキストを追加';
    	return $title;
    }
    add_filter( 'wp_title', 'modify_wp_title', 10, 2 );
    
  4. add_image_size(画像(サムネイル)サイズの登録)

    add_image_size( $name, $width, $height, $crop )

    画像(サムネイル)サイズを登録します。

    • 引数 1($name)は、画像サイズの名前を指定します。 'thumb'、'thumbnail'、'medium'、'medium_large'、'large'、'post-thumbnail' は予約済の名前です。
    • 引数 2($width)は、画像の横幅(px)を指定します。
    • 引数 3($height)は、画像の高さ(px)を指定します。
    • 引数 4($crop)は、画像のトリミング方法を指定します。true を指定すると画像の中心から指定サイズでトリミングされ、false を指定すると画像は拡大・縮小されます。初期値は false です。
      配列で array(横位置, 縦位置) を指定するとトリミング位置を指定することができます。横位置は 'left'、'center'、'right' で指定し、縦位置は 'top'、'center'、'bottom' で指定します。
    • 返却値は、ありません。

    使用例は、以下の通りです。

    
    add_image_size( 'custom-size-1', 220, 180 );
    add_image_size( 'custom-size-2', 220, 180, true );
    add_image_size( 'custom-size-3', 220, 180, array( 'left', 'top' ) );
    
  5. add_menu_page(設定ページのメニュー登録)

    $hook_suffix = add_menu_page( $page_title, $menu_title, $capability, $menu_slug, $callback, $icon_url, $position )

    ダッシュボードのメニューに設定ページのメニューを登録します。

    • 引数 1($page_title)は、メニューが選択された時に表示するページのタイトルを指定します。
    • 引数 2($menu_title)は、メニューに表示する文字列を指定します。
    • 引数 3($capability)は、メニューの権限を指定します。
    • 引数 4($menu_slug)は、メニューのスラッグを指定します。
    • 引数 5($callback)は、メニュー選択時に呼び出されるコールバック関数を指定します。
    • 引数 6($icon_url)は、メニューの先頭に表示するアイコンの URL を指定します。
    • 引数 7($positin)は、メニューの表示位置を指定します。
      5
      投稿の下
      10
      メディアの下
      15
      リンクの下
      20
      固定ページの下
      25
      コメントの下
      60
      最初の区切りの下(コメントの下の区切り)
      65
      プラグインの下
      70
      ユーザーの下
      75
      ツールの下
      80
      設定の下
      100
      2 つ目の区切りの下
    • 返却値(hook_syffix)は、メニューが登録できた場合は、フック名が返却され、メニュー登録が失敗した場合は false が返却されます。

    設定ページの作成方法については「L7.4 設定画面プラグイン作成」を参照してください。

    使用例は、以下の通りです。

    
    add_menu_page(							// トップメニューへの追加
    	'ページタイトル',					// ページタイトル
    	'メニュータイトル',					// メニュータイトル
    	'manage_options',					// メニュー権限
    	'my_plugin',						// スラッグ名
    	'my_plugin_func',					// コールバック関数
    	'dashicons-admin-settings',			// メニューアイコン
    	99									// メニュー表示位置
    );
    
  6. add_meta_box(メタボックスの登録)

    add_meta_box( $id, $title, $callback, $screen, $context, #priority, $callback_args )

    1 つまたは複数の画面にメタボックスを登録します。

    • 引数 1($id)は、メタボックスの ID を指定します。この名称は、メタボックスの属性で使用されます。
    • 引数 2($title)は、メタボックスのタイトルを指定します。
    • 引数 3($callback)は、メタボックスの内容を表示するためのコールバック関数を指定します。
    • 引数 4($screen)は、メタボックスを表示する画面(投稿タイプ)を指定します。単一の投稿タイプ名、WP_Screen オブジェクト、投稿タイプ名を列挙した配列を指定できます。初期値は、現在の投稿タイプです。
    • 引数 5($context)は、ボックスを表示する画面内のコンテキストを指定します。指定可能な値は、画面の種類によって異なります。投稿の場合は 'normal'、'side'、'advanced' が指定可能です。コメントの場合は 'normal'、'side' が指定可能です。メニューのメタボックス(アコーディオンセクション)'side' が指定可能です。初期値は 'advanced' です。
    • 引数 6($priority)は、ボックスを表示するコンテキスト内での優先順位を 'high'、'core'、'default'、'low' で指定します。初期値は 'default' です。
    • 引数 7($callback_args)は、コールバック関数の第 2 引数に渡される値を指定します。初期値は null です。
    • 返却値は、ありません。

    使用例は、以下の通りです。

    
    add_meta_box(							// カスタムフィールド(メタボックス)を追加
    	'sample_fields',					// 識別子
    	'カスタム投稿情報',					// 見出し
    	'custom_fields_html',				// 画面定義関数
    	'custom_type',						// 投稿タイプ
    	'normal',							// 表示位置
    	'default',							// 優先度
    );
    
  7. add_settings_field(設定ページにフィールドの登録)

    add_settings_field( $id, $title, $callback, $page, $section, $args )

    設定ページのセクションにフィールドを登録します。

    • 引数 1($id)は、フィールドを識別するためのスラッグ名を指定します。この名称は id タグの属性で使用されます。
    • 引数 2($title)は、フィールドのタイトルを指定します。フィールド表示時のラベルとして使用されます。
    • 引数 3($callback)は、フィールドの値を表示(HTML を出力)するためのコールバック関数を指定します。
    • 引数 4($page)は、セクションを表示する設定ページのスラッグ名を指定します。
    • 引数 5($section)は、ボックスを表示する設定ページのセクション名を指定します。初期値は 'default' です。
    • 引数 6($args)は、コールバック関数に渡される値(連想配列)の追加要素を指定します。 追加要素は、コールバック関数固有に使用される要素(使用者が定義)に加えて以下の要素を指定することができます。省略時は、空配列です。
      label_for
      label 要素で囲んで for 属性に指定する値を指定します。値が空の場合は label 要素で囲まれません。
      class
      tr 要素の class 名を指定します。
    • 返却値は、ありません。

    設定ページの作成方法については「L7.4 設定画面プラグイン作成」を参照してください。

    使用例は、以下の通りです。

    
    add_settings_field(						// 設定ページにフィールドの登録
    	'text_field', 						// フィールドのスラッグ名
    	'テキストボックス', 				// フィールドのタイトル
    	'text_field_callback', 				// フィールド値表示のコールバック関数
    	'my_plugin_setting_page', 			// 設定ページのスラッグ名
    	'text_section', 					// 設定ページのセクション名
    	['name' => 'text_field_1']			// コールバック関数の引数への追加要素
    );
    
  8. add_settings_section(設定ページにセクションの登録)

    add_settings_section( $id, $title, $callback, $page, $args )

    設定ページにセクションにフィールドを登録します。

    • 引数 1($id)は、セクションを識別するためのスラッグ名を指定します。この名称は id タグの属性で使用されます。
    • 引数 2($title)は、セクションのタイトルを指定します。セクションの見出しとして使用されます。
    • 引数 3($callback)は、セクションの先頭(見出しとフィールドの間)を表示(HTML を出力)するためのコールバック関数を指定します。
    • 引数 4($page)は、セクションを表示する設定ページのスラッグ名を指定します。組込み済みのページとして 'general'、'reading'、'writing'、'discussion'、'media' などがあります。
    • 引数 5($args)は、セクション設定に関する値(連想配列)を指定します。
      before_section
      セクションの前に表示する内容を指定します。
      after_section
      セクションの後に表示する内容を指定します。
      section_class
      セクションの class 名を指定します。
    • 返却値は、ありません。

    設定ページの作成方法については「L7.4 設定画面プラグイン作成」を参照してください。

    使用例は、以下の通りです。

    
    add_settings_section(					// セクションの登録
    	'text_section', 					// セクションのスラッグ名
    	'テキストボックス', 				// セクションのタイトル
    	'', 								// セクションの先頭出力用コールバック関数
    	'my_plugin_setting_page'			// 設定ページのスラッグ名
    );
    
  9. add_shortcode(ショートコードの登録)

    add_shortcode( $tag, $callback )

    ショートコードの登録を行います。

    • 引数 1($tag)は、ショートコードのタグを指定します。タグは、投稿などに記述する名称であり、他のショートコードと競合しないようにする必要があります。競合している場合は、最後に読み込まれたタグが優先されます。
    • 引数 2($callback)は、ショートコードの処理関数を指定します。
    • 返却値は、ありません。

    ショートコードの使用方法については「L3.4 ショートコード」を参照してください。

  10. add_submenu_page(設定ページのサブメニュー登録)

    $hook_suffix = add_submenu_page( $parent_slug, $page_title, $menu_title, $capability, $menu_slug, $callback, $position )

    ダッシュボードのメニューに設定ページのサブメニューを登録します。

    • 引数 1($parent_slug)は、親メニューのスラッグ名または WordPress 管理ページのファイル名を指定します。
    • 引数 2($page_title)は、メニューが選択された時に表示するページのタイトルを指定します。
    • 引数 3($menu_title)は、メニューに表示する文字列を指定します。
    • 引数 4($capability)は、メニューの権限を指定します。
    • 引数 5($menu_slug)は、メニューのスラッグを指定します。
    • 引数 6($callback)は、メニュー選択時に呼び出されるコールバック関数を指定します。
    • 引数 7($positin)は、メニューの表示位置を指定します。
    • 返却値(hook_syffix)は、メニューが登録できた場合は、フック名が返却され、メニュー登録が失敗した場合は false が返却されます。

    設定ページの作成方法については「L7.4 設定画面プラグイン作成」を参照してください。

    使用例は、以下の通りです。

    
    add_submenu_page(						// サブメニューの追加
    	'options-general.php',				// 親メニューのスラッグ名(例は設定メニュー)
    	'設定サンプル',						// ページタイトル
    	'設定サンプル',						// メニュータイトル
    	'manage_options',					// メニュー権限
    	'my_plugin_setting',				// メニュースラッグ名
    	'my_plugin_setting_page',			// コールバック関数
    	99									// メニュー表示位置
    );
    
  11. add_theme_support(特定のテーマ機能のサポート許可)

    add_theme_support( $feature, $arguments )

    テーマやプラグインが特定のテーマ機能をサポートすることを許可します。

    • 引数 1($feature)は、追加する機能名を指定します。代表的な機能名は、以下の通りです。
      post-formats
      投稿フォーマットをサポートします。
      post-thumbnails
      投稿サムネイルをサポートします。
      custom-background
      カスタム背景をサポートします。
      custom-header
      カスタムヘッダーをサポートします。
      automatic-feed-links
      header での、投稿とコメントの RSS フィードのリンクを有効にします。
      html5
      HTML5マークアップの使用を許可します。
      title-tag
      ドキュメントのタイトルを管理するためのプラグインやテーマを可能にします。
    • 引数 2($arguments)は、オプション指定であり指定する機能名により異なります。
      post-formats
      'aside'、'gallery'、'image'、'link'、'quote'、'status'、'video'、'audio'、'chat'
      post-thumbnails
      'post'、'page'、'attachment'、'revision'、'nav_menu_item'
      custom-background
      'default-color'、'default-image'、'default-repeat'、'default-position-x'、'default-attachment'、'wp-head-callback'、'admin-head-callback'、'admin-preview-callback'
      custom-header
      'default-image'、'random-default'、'width''height'、'flex-height'、'flex-width'、'default-text-color'、'header-text'、'uploads'、'wp-head-callback'、'admin-head-callback'、'admin-preview-callback'
      automatic-feed-links
      (なし)
      html5
      'comment-list'、'comment-form'、'search-form'、'gallery'、'caption'
      title-tag
      (なし)
    • 返却値は、ありません。

    使用例は、以下の通りです。

    
    add_theme_support( 'title-tag' );
    add_theme_support( 'post-formats',
    	array(
    		'link',
    		'aside',
    		'gallery',
    		'image',
    		'quote',
    		'status',
    	)
    );
    add_theme_support( 'post-thumbnails' );
    
  12. array_key_exists(PHP 関数)(配列にキーが設定されているかの検査)

    $bool = array_key_exists( $key, $array )

    指定した連想配列内にキーが存在するか否かを検査します。

    • 引数 1($key)は、検査するキーを指定します。
    • 引数 2($array)は、検索する連想配列を指定します。
    • 返却値($bool)は、配列内に指定したキーが存在する場合は true が返却され、指定したキーが存在しない場合は false が返却されます。

    使用例は、以下の通りです。

    
    $array = [ 'key1' => 1, 'key2' => 2 ];
    $bool = array_key_exists('key1', $array);
    

A2.2.3 「B」で始まる関数・変数

  1. bloginfo(サイト情報の表示)

    bloginfo( $show )

    サイト情報を表示します。

    • 引数 1($show)は、表示するキーワード名を指定します。初期値は 'name' です。代表的なキーワード名は、以下の通りです。
      name
      「サイトのタイトル」を表示します。
      description
      「キャッチフレーズ」を表示します。
      wpurl
      「WordPress アドレス(URL)」を表示します。
      url
      「サイトアドレス(URL)」を表示します。
      admin_email
      「管理者メールアドレス」を表示します。
      charset
      使用する文字コードを表示します。(現版では、常に 'UTF-8' が表示されます)
      version
      使用中の WordPress バージョンを表示します。
      html_type
      HTML ページの Content-Type(デフォルトは 'text/html')を表示します。
      language
      WordPress の言語を表示します。
      stylesheet_url
      プライマリーな CSS ファイルの URL を表示します。(get_stylesheet_uri 関数の使用を推奨)
      stylesheet_directory
      アクティブなテーマディレクトリーの URL を表示します。(get_stylesheet_directory_uri 関数の使用を推奨)
    • 返却値は、ありません。

    使用例は、以下の通りです。

    
    bloginfo( 'name' )
    
  2. body_class(テンプレート種類のクラス名を表示)

    body_class( $class )

    body タグ用にテンプレート種類を示すクラス名を表示します。

    • 引数 1($class)は、標準値に追加したいクラス名を指定します。複数のクラスを指定する場合は、スペースで区切って指定します。初期値は null です。
    • 返却値は、ありません。

    使用例は、以下の通りです。

    
    body_class();
    

A2.2.4 「C」で始まる関数・変数

  1. checked(HTML checked 属性の表示・返却)

    $text = checked( $checked, $current, $display )

    HTML の checked 属性を表示・返却します。表示・返却される HTML の checked 属性は " checked='checked'" です。

    • 引数 1($checked)は、比較対象になる値を指定します。
    • 引数 2($current)は、比較対象になる、もう一つの値を指定します。
    • 引数 3($display)は、結果を表示するか否かを指定します。true を指定すると表示し、false を指定すると返却します。初期値は true です。
    • 返却値($text)は、$display に true を指定すると空文字列を返却し false を指定すると HTML 属性を返却します。

    使用例は、以下の通りです。

    
    checked( $value, 'type-1' );
    
  2. comments_template(コメントテンプレートを読み込み)

    get_search_form( $file, $separate_comments )

    コメントテンプレート(comments.php)を読み込みます。コードの再利用や子テーマでコードの置き換えが容易になります。

    • 引数 1($file)では、読込みファイル名を指定します。初期値は、'/comments.php' です。
    • 引数 2($separate_comments)では、true を指定するとコメントをコメントの種類ごとに分けることを指定します。初期値は false です。
    • 返却値は、ありません。

    共通テンプレートの読込みに関しては「L2.3.5 共通テンプレートファイルの読み込み」でも説明していますので合わせて参照してください。

    使用例は、以下の通りです。

    
    comments_template();							// /comments.php を読込み
    
    
    comments_template('/custom-commens.php');		// /custom-commens.php を読込み
    

A2.2.5 「D」で始まる関数・変数

  1. date(PHP 関数)(ローカル日付/時刻を書式化して返却)

    $text = date( $format, $timestamp )

    ローカル日付/時刻を指定フォーマットに書式化して返却します。

    • 引数 1($format)は、書式化するフォーマットを指定します。フォーマットに使用する主要な文字は、以下の通りです。
      Y
      年(4 桁)
      y
      年(2 桁)
      m
      月(先頭 0 あり)
      n
      月(先頭 0 なし)
      F
      月(フルスペル)
      M
      月(3 文字の省略形)
      d
      日(先頭 0 あり)
      j
      日(先頭 0 なし)
      s
      日(英語型式のサフィックス付き)
      l
      曜日(フルスペル)
      D
      曜日(3 文字の省略形)
      a
      'am' または 'pm'
      A
      'AM' または 'PM'
      g
      時(12時間単位/先頭 0 なし)
      h
      時(12時間単位/先頭 0 あり)
      G
      時(24時間単位/先頭 0 なし)
      H
      時(24時間単位/先頭 0 あり)
      i
      分(2 桁)
      s
      秒(2 桁)
    • 引数 2($timestamp)は、タイムスタンプを指定します。初期値は、現在の日付/時刻になります。
    • 返却値($text)は、編集済みテキストを返却します。

    使用例は、以下の通りです。

    
    $text = date( 'Y年m月d日 G:i' );
    
  2. do_settings_sections(設定ページにセクションを表示)

    do_settings_sections( $page )

    設定ページにセクションを表示します。 設定ページに表示する内容は、add_settings_section 関数や add_settings_field 関数で登録した内容です。

    • 引数 1($page)は、セクションを表示する設定ページのスラッグ名を指定します。
    • 返却値は、ありません。

    設定ページの作成方法については「L7.4 設定画面プラグイン作成」を参照してください。

    使用例は、以下の通りです。

    
    do_settings_sections('my_plugin_setting_page');		// ページ表示(ページ名)
    
  3. dynamic_sidebar(ウィジェットの表示)

    $bool = dynamic_sidebar( $index )

    ウィジェットを表示したいテンプレートで本関数を呼び出すことでウィジェットの表示を行います。

    • 引数 1($index)は、表示するウィジェットのインデックス(名前または ID)を指定します。初期値は 1 です。
    • 返却値($bool)は、ウィジェットが見つかった場合は true が返却され、見つからなかった場合は false が返却されます。

    使用例は、以下の通りです。

    
    dynamic_sidebar( 'my_widget' );
    

A2.2.6 「E」で始まる関数・変数

  1. empty(PHP 関数)(変数が空であるかの検査)

    $bool = empty( $var )

    変数が宣言されていて、値が空であることを検査します。値が空とは、空文字列('')、数値の 0、null、false、未定義の変数、空の配列などです。

    • 引数 1 ($var)は、検査する変数を指定します。
    • 返却値($bool)は、変数が存在しない場合や値が false に等しい場合は true を返却し、それ以外の場合は false を返却します。指定した変数が連想配列の場合に $var['key'] と指定することで指定した連想配列のキーが 'key' のものに対して検査を実施します。

    使用例は、以下の通りです。

    
    $a = '';
    $bool = empty( $a );					// true
    $b = null;
    $bool = empty( $b );					// true
    
  2. esc_attr(HTML 特殊文字をエスケープして返却)

    $esc_text = esc_attr( $text )

    HTML 特殊文字をエスケープして返却します。alt、value、title などの属性値に適用することを目的にしています。エスケープ対象は、小なり(<)、大なり(>)、シングルクォーテーション(')ダブルクォーテーション(")、アンパサンド(&)です。

    • 引数 1($text)は、エスケープする文字列を指定します。
    • 返却値($esc_text)は、エスケープした結果が返却されます。

    使用例は、以下の通りです。

    
    $esc_text = esc_attr( '<h1>title</h1>' );
    
  3. esc_attr_e(翻訳後に HTML 特殊文字をエスケープして表示)

    esc_attr_e( $text, $textdomain )

    翻訳後に HTML 特殊文字をエスケープして表示します。alt、value、title などの属性値に適用することを目的にしています。エスケープ対象は、小なり(<)、大なり(>)、シングルクォーテーション(')ダブルクォーテーション(")、アンパサンド(&)です。

    • 引数 1($text)は、翻訳、エスケープする文字列を指定します。
    • 引数 2($textdomain)は、翻訳テキストを読み込むドメインを指定します。初期値は、'default' です。
    • 返却値は、ありません。

    使用例は、以下の通りです。

    
    esc_attr_e( '<h1>title</h1>' );
    
  4. esc_html(HTML のエスケープ処理して結果を返却)

    $esc_text = esc_html( $text )

    HTML のエスケープ処理して結果を返却します。エスケープ対象は、小なり(<)、大なり(>)、シングルクォーテーション(')ダブルクォーテーション(")、アンパサンド(&)です。

    • 引数 1($text)にエスケープするテキストを指定します。
    • 返却値($esc_text)は、エスケープしたテキストを返却します。

    使用例は、以下の通りです。

    
    $esc_text = esc_html( '<h1>title</h1>' );
    
  5. esc_html_e(HTML のエスケープ処理した翻訳テキストを表示)

    esc_html_e( $text, $textdomain )

    HTML のエスケープ処理した翻訳テキストを表示します。エスケープ対象は、小なり(<)、大なり(>)、シングルクォーテーション(')ダブルクォーテーション(")、アンパサンド(&)です。

    • 引数 1($text)に翻訳するテキストを指定します。
    • 引数 2($textdomain)に翻訳された文字列を取得するための一意の識別子を指定します。初期値は 'default' です。
    • 返却値は、ありません。

    使用例は、以下の通りです。

    
    esc_html_e( ''<h1>title</h1>'' );
    
  6. esc_html__(HTML のエスケープ処理した翻訳テキストを返却)

    $esc_text = esc_html__( $text, $textdomain )

    HTML のエスケープ処理した翻訳テキストを返却します。エスケープ対象は、小なり(<)、大なり(>)、シングルクォーテーション(')ダブルクォーテーション(")、アンパサンド(&)です。

    • 引数 1($text)に翻訳するテキストを指定します。
    • 引数 2($textdomain)に翻訳された文字列を取得するための一意の識別子を指定します。初期値は 'default' です。
    • 返却値($esc_text)は、翻訳したテキストを返却します。

    使用例は、以下の通りです。

    
    $esc_text = esc_html__( '<h1>title</h1>' );
    
  7. esc_textarea(複数行入力項目(textarea)のエスケープ処理して結果を返却)

    $esc_text = esc_textarea( $text )

    HTML の複数行入力項目(textarea)をエスケープ処理して結果を返却します。

    • 引数 1($text)にエスケープ処理するテキストを指定します。
    • 返却値($esc_text)は、エスケープ処理されたテキストを返却します。

    使用例は、以下の通りです。

    
    $esc_text = esc_textarea( '<h1>title</h1>' );
    
  8. esc_url(URL をクリーンアップして結果を返却)

    $esc_url = esc_url( $url, $protocols, $_context )

    テキストや属性などの URL をクリーンアップして結果を返却します。無効プロトコルや無効なキャラクタ、有害なキャラクタを除外します。

    • 引数 1($url)は、クリーンアップする URL を指定します。
    • 引数 2($protocols)は、受け入れ可能なプロトコル名の配列を指定します。初期値は null です。
    • 引数 3($_context)は、URL をどのように使用するかを指定します。初期値は 'display' です。
    • 返却値($esc_url)は、編集済みの URL を返却します。

    使用例は、以下の通りです。

    
    $esc_url = esc_url( home_url( '/' ) );
    

A2.2.7 「F」で始まる関数・変数

  1. function_exists(PHP 関数)(指定した関数が定義されているかを返却)

    $bool = function_exists( $function )

    指定した関数が定義されているかを返却します。

    • 引数 1($function)検査する関数名を指定します。
    • 返却値($bool)は、指定した関数が定義されている場合は true を返却し、そうでない場合は false を返却します。

    使用例は、以下の通りです。

    
    if ( function_exists( 'wp_xxx' ) ) {
    	wp_xxx();
    }
    

A2.2.8 「G」で始まる関数・変数

  1. get_bloginfo(サイト情報を取得)

    $bloginfo = get_bloginfo( $show, $filter )

    サイト情報を返却します。

    • 引数 1($show)は、取得するキーワード名を指定します。初期値は 'name' です。キーワード名は bloginfo 関数を参照してください。
    • 引数 2($filter)は、適用するフィルターを指定します。'raw' を指定すると取得した値をそのまま返却し 'display' を指定すると wptexturize 関数で処理後に返却します。初期値は、'raw' です。
    • 返却値($bloginfo)は、指定したキーワード名のサイト情報を返却します。

    使用例は、以下の通りです。

    
    $bloginfo = get_bloginfo( 'name' );
    
  2. get_category_link(カテゴリー ID のアーカイブページへの URL を取得)

    $url = get_category_link( $category_id )

    指定したカテゴリー ID のアーカイブページへの URL を返却します。

    • 引数 1($category_id)は、カテゴリー ID を指定します。
    • 返却値($url)は、アーカイブページの URL を返却します。

    使用例は、以下の通りです。

    
    $url = get_category_link( get_cat_ID( 'カテゴリー名' ) );
    
  3. get_footer(フッターテンプレートを読み込み)

    get_footer( $name, $args )

    フッターテンプレート(footer.php)を読み込みます。

    • 引数 1 は($name)読み込むテンプレート名の接尾語を指定し、特定のテンプレート 'footer-{name}.php' を読み込みます。初期値は 'footer.php' です。
    • 引数 2($args)は、フッターテンプレートに渡す引数を配列で指定します。フッターテンプレート側では、$args['キー名'] と指定することで引数の値を参照することができます。
    • 返却値($return)は、テンプレートが存在しない場合は false になり、成功した場合は void になります。

    共通テンプレートの読込みに関しては「L2.3.5 共通テンプレートファイルの読み込み」でも説明していますので合わせて参照してください。

    使用例は、以下の通りです。

    
    get_footer();									// footer.php を読込み
    
    
    get_footer( 'page' );							// footer-page.php を読込み
    
    
    get_footer( '', [ 'name' => 'site-name' ] );	// footer.php を読込み
    
    /* テンプレート(footer.php)側の処理 */
    echo $args['name'];								// 'site-name' を参照
    
  4. get_header(ヘッダーテンプレートを読み込み)

    $return = get_header( $name, $args )

    ヘッダーテンプレート(header.php)を読み込みます。

    • 引数 1($name)は、読み込むテンプレート名の接尾語を指定し、特定のテンプレート 'header-{name}.php' を読み込みます。初期値は 'header.php' です。
    • 引数 2($args)は、ヘッダーテンプレートに渡す引数を配列で指定します。ヘッダーテンプレート側では、$args['キー名'] と指定することで引数の値を参照することができます。
    • 返却値($return)は、テンプレートが存在しない場合は false になり、成功した場合は void になります。

    共通テンプレートの読込みに関しては「L2.3.5 共通テンプレートファイルの読み込み」でも説明していますので合わせて参照してください。

    使用例は、以下の通りです。

    
    php get_header();								// header.php を読込み
    
    
    get_header( 'page' );							// header-page.php を読込み
    
    
    get_header( '', [ 'name' => 'site-name' ] );	// header.php を読込み
    
    /* テンプレート側の処理 */
    echo $args['name'];								// 'site-name' を参照
    
  5. get_option(オプションの値を取得)

    $value = get_option( $setting, $default )

    オプションの値を取得します。 オプションには、システムで定義済みのものとテーマやプラグイン作成者が定義したものがあります。

    • 引数 1($setting)は、取得するオプション名を指定します。 システムで定義済みの主要なオプションの名前は、以下の通りです。
      admin_email
      メールアドレス(*1)
      blacklist_keys
      コメントブラックリスト(*4)
      blogdescription
      キャッチフレーズ(*1)
      blogname
      ブログタイトル(*1)
      blog_charset
      ブログの文字エンコード
      comments_per_page
      1 ページ内のコメント数(*4)
      date_format
      日付フォーマット(*1)
      default_category
      デフォルトの投稿カテゴリ(*2)
      embed_size_h
      「埋め込みファイルの最大サイズ」の「高さ」(*5)
      embed_size_w
      「埋め込みファイルの最大サイズ」の「幅」(*5)
      gmt_offset
      タイムゾーン → UTCとの時差(*1)
      home
      サイトのアドレス(ブログのアドレス)(*1)
      moderation_keys
      コメントモデレーション(*4)
      page_for_posts
      ホームページの表示 → 投稿ページ(*3)
      page_on_front
      ホームページの表示 → ホームページ(*3)
      posts_per_page
      1 ページ内の投稿数(*3)
      posts_per_rss
      RSS/Atom フィードで表示する最新の投稿数(*3)
      post_count
      投稿数
      show_on_front
      ホームページの表示(*3)
      siteurl
      WordPressのアドレス(*1)
      start_of_week
      曜日カレンダーの開始日(*1)
      sticky_posts
      「この投稿を先頭に固定表示」がチェックされている投稿情報の ID を格納した配列
      template
      現在のテーマの名前
      time_format
      時刻フォーマット(*1)
      uploads_use_yearmonth_folders
      アップロードフォルダの管理方法 → アップロードしたファイルを年月ベースのフォルダに整理(*5)
      upload_path
      デフォルトのアップロード場所(*5)
      users_can_register
      ユーザーが登録できるかどうか(*1)
      use_smilies
      「整形」顔文字を画像に変換して表示(*2)
      *1 管理画面の「設定 → 一般」で設定した値です。
      *2 管理画面の「設定 → 投稿設定」で設定した値です。
      *3 管理画面の「設定 → 表示設定」で設定した値です。
      *4 管理画面の「設定 → ディスカッション」で設定した値です。
      *5 管理画面の「設定 → メディア」で設定した値です。
    • 引数 2($default)は、デフォルト(オプションが未登録時)の返却する値を指定します。省略時は false です。
    • 返却値($value)は、指定したオプションの名前が登録されている場合は、登録されているオプションの値が返却され、未登録の場合は、引数 2($default)で指定した値が返却されます。

    設定ページの作成に関する get_option 関数の使用方法については「L7.4 設定画面プラグイン作成」を参照してください。

    使用例は、以下の通りです。

    
    $value = get_option('blogname');			// blogname(ブログタイトル)オプション値の取得
    $value = get_option('my_field_name');		// my_field_name オプション値の取得
    
  6. get_pages(ページ(または階層構造を持つ投稿タイプのアイテム)の配列を取得)

    $pages = get_pages( $args )

    ページ(または階層構造を持つ投稿タイプのアイテム)の配列を取得を返却します。

    • 引数 1($args)は、ページ配列を取得するパラメータを連想配列で指定します。パラメータの指定値は、以下の通りです。
      authors
      取得する著者の著者 ID をカンマ区切りで指定します。
      child_of
      取得する単一サブページのページ ID 指定します。省略時は、0(すべてのページ)です。
      exclude
      除外するページ ID の配列を指定します。
      exclude_tree
      除外するページ ID をカンマ区切りか配列で指定します。
      include
      含めるページ ID の配列を指定します。include を指定すると child_of(0)、parent(-1)、exclude(空文字)、meta_key(空文字)、meta_value(空文字)、hierarchical(false) と併用できなくカッコ内の値に設定されます。
      number
      取得するページ数を指定します。省略時は 0(全ページ)です。
      offset
      戻る前にスキップするページ数を指定します。number の指定が必要です。省略時は 0 です。
      post_status
      含める投稿ステータスをカンマ区切りか配列で指定します。省略時は 'publish' です。
      post_type
      クエリ対象の投稿タイプを指定します。省略時は 'page' です。
      sort_column
      ページをソートする列名をカンマ区切りで指定します。'post_author'、'post_date'、'post_title'、'post_name'、'post_modified'、'post_modified_gmt'、'menu_order'、'post_parent'、'ID'、'rand'、'comment_count' が使用可能です。'post*' で始まる値の場合は省略できます。省略時は 'post_title' です。
      sort_order
      ページをソート方法を指定します。'ASC'(昇順)、'DESC'(降順)が使用可能です。省略時は 'ASC' です。
      hierarchical
      ページを階層的に取得するか否かを指定します。true は、階層的に返し、false は階層的に返しません。省略時は true です。
      meta_key
      このメタキーを持つページを含めます。
      meta_value
      このメタ値を持つページを含めます。meta_key の指定が必要です。
      parent
      直接のサブページを返すページ ID を指定します。省略時は -1(制限なし)です。
    • 返却値($pages)は、取得したページオブジェクト(WP_Post)の配列を返却します。ページ情報が取得できなかった時は false を返却します。

    使用例は、以下の通りです。

    
    $pages = get_pages( );										// 公開されている全てのページを取得
    $pages = get_pages( array( 'number' => 10 ) );				// 条件を指定してページを取得
    
  7. get_permalink(投稿または固定ページのパーマリンクを取得)

    $permalink = get_permalink( $id, $leavename )

    投稿または固定ページのパーマリンクを返却します。

    • 引数 1($id)は、投稿または固定ページの ID あるいは、投稿オブジェクトを指定します。ループ内で使用する場合は省略可能で表示中の投稿 ID になります。
    • 引数 2($leavename)は、投稿名あるいは固定ページ名を保持するかどうかを指定します。true の場合は、実際の URI ではなく構造的なリンクを返却します。初期値は、false です。実際の URL の例を「http://www.sample.com/post-sample/」だとすると構造的なリンクの例は「http://www.sample.com/%postname%」です。
    • 返却値($permalink)は、投稿または固定ページのパーマリンクを返却します。

    使用例は、以下の通りです。

    
    $permalink = esc_url( get_permalink() );
    
  8. get_post_format(投稿記事の投稿フォーマットを取得)

    $format = get_post_format( $post_id )

    投稿記事の投稿フォーマットを返却します。 通常は、ループ内で呼び出されますが投稿 ID が指定されていればどこでも使用できます。

    • 引数 1($post_id)は、投稿 ID を指定します。省略時は、現在の投稿が使用されます。
    • 返却値($format)は、投稿フォーマットを返却します。

    使用例は、以下の通りです。

    
    $format = get_post_format();
    
  9. get_post_meta(投稿メタフィールドデータを取得)

    $mixed = get_post_meta( $post_id, $key, $single )

    指定したキーに対応するメタフィールドデータを返却します。

    • 引数 1($post_id)は、投稿 ID を指定します。
    • 引数 2($key)は、取得するメタキーを指定します。省略時は、すべてのキーに対するデータが返却されます。
    • 引数 3($single)は、単一の値を返却するか否かを指定します。$key を指定しない場合は、効果がありません。初期値は false です。
    • 返却値($mixed)は、メタフィールドデータを返却します。$single に false の場合は、配列が返却され、true の場合は、メタフィールドの値が返却されます。$post_id が無効の場合は false が返却されます。数値は、文字列形式で返却されます。

    使用例は、以下の通りです。

    
    $value = get_post_meta($post->ID, 'v_text', true);
    
  10. get_search_form(検索フォームテンプレートを読み込み)

    $text = get_search_form( $args )

    検索フォームテンプレート(searchform.php)を読み込みます。コードの再利用や子テーマでコードの置き換えが容易になります。

    • 引数 1($args)では、以下の指示を行うことができます。初期値は array() です。
      echo
      検索フォームを表示するか返却するかを指定します。true を指定すると表示され、false を指定すると HTML を返却します。初期値は true です。
      aria_label
      検索フォームの aria_label を指定します。同じページ上の複数の検索フォームを区別し、アクセシビリティを向上させるのに役立ちます。
    • 返却値($text)は、echo が true では、void であり、false では、HTML コードが返却されます。

    共通テンプレートの読込みに関しては「L2.3.5 共通テンプレートファイルの読み込み」でも説明していますので合わせて参照してください。

    使用例は、以下の通りです。

    
    get_search_form();								// searchform.php を読込み
    
    
    get_search_form( [ 'echo' => false ] );			// searchform.php を読込み HTML を返却
    
  11. get_sidebar(サイドバーテンプレートを読み込み)

    $return = get_sidebar( $name, $args )

    サイドバーテンプレート(sidebar.php)を読み込みます。コードの再利用や子テーマでコードの置き換えが容易になります。

    • 引数 1($name)は、特定テンプレート(name)の接尾語を指定し、特定テンプレート(sidebar-{name}.php)を読み込みます。省略可能です。
    • 引数 2($args)は、サイドバーテンプレートに渡す引数を配列で指定します。サイドバーテンプレート側では $args['キー名'] と指定することで引数の値を参照することができます。
    • 返却値($return)は、テンプレートが存在しない場合は false になり、成功した場合は void になります。

    共通テンプレートの読込みに関しては「L2.3.5 共通テンプレートファイルの読み込み」でも説明していますので合わせて参照してください。

    使用例は、以下の通りです。

    
    get_sidebar();									// sidebar.php を読込み
    
    
    get_sudebar( 'page' );							// sidebar-page.php を読込み
    
    
    get_sudebar( '', [ 'name' => 'site-name' ] );	// sidebar.php を読込み
    
    /* テンプレート側の処理 */
    echo $args['name'];								// 'site-name' を参照
    
  12. get_stylesheet_directory(スタイルシートディレクトリのパスを取得)

    $path = get_stylesheet_directory( )

    現在のテーマまたは子テーマのスタイルシートディレクトリのパスを返却します。

    • 引数は、ありません。
    • 返却値($path)は、現在のテーマまたは子テーマのスタイルシートディレクトリのパスを返却します。最後にスラッシュは付きません。

    使用例は、以下の通りです。

    
    $path = get_stylesheet_directory();
    
  13. get_stylesheet_directory_uri(スタイルシートディレクトリの URI を取得)

    $uri = get_stylesheet_directory_uri( )

    現在のテーマまたは子テーマのスタイルシートディレクトリの URI を返却します。

    • 引数は、ありません。
    • 返却値($uri)は、現在のテーマまたは子テーマのスタイルシートディレクトリの URI を返却します。最後にスラッシュは付きません。

    使用例は、以下の通りです。

    
    $uri = get_stylesheet_directory_uri();
    
  14. get_template_directory(テーマのディレクトリへの絶対パスを取得)

    $path = get_template_directory( )

    現在のテーマのディレクトリへの絶対パスを返却します。 子テーマを使用している場合は、親テーマの絶対パスが返却されます。(functions.php 内で使用している場合を除く) 子テーマの絶対パスを取得する場合は、get_stylesheet_directory 関数を使用します。

    • 引数は、ありません。
    • 返却値($path)は、現在のテーマのディレクトリへの絶対パスを返却します。最後にスラッシュは付きません。

    使用例は、以下の通りです。

    
    $path = get_template_directory();
    
  15. get_template_directory_uri(テーマのディレクトリへの URI を取得)

    $uri = get_template_directory_uri( )

    現在のテーマのディレクトリへの URI を返却します。 子テーマを使用している場合は、親テーマの URI が返却されます。(functions.php 内で使用している場合を除く) 子テーマの絶対パスを取得する場合は、get_stylesheet_directory_uri を使用します。

    • 引数は、ありません。
    • 返却値($uri)は、現在のテーマのディレクトリへの URI を返却します。最後にスラッシュは付きません。

    使用例は、以下の通りです。

    
    $uri = get_template_directory_uri();
    
  16. get_template_part(テンプレートパーツを読み込み)

    $return = get_template_part( $slug, $name )

    テンプレートパーツを読み込みます。コードの再利用や子テーマでコードの置き換えが容易になります。

    • 引数 1($slug)は、一般テンプレート(slug)のスラッグ名を指定し、一般テンプレート({slug}.php)を読み込みます。
    • 引数 2($name)は、特定テンプレート(name)の名前を指定し、特定テンプレート({slug}-{name}.php)を読み込みます。省略可能です。
    • 返却値($return)は、テンプレートが存在しない場合は false になり、成功した場合は void になります。

    共通テンプレートの読込みに関しては「L2.3.5 共通テンプレートファイルの読み込み」でも説明していますので合わせて参照してください。

    使用例は、以下の通りです。

    
    get_template_part( 'loop', 'index' );
    
  17. get_theme_mod(テーマ設定値を取得)

    $mod = get_theme_mod( $name, $default )

    テーマ設定値を返却します。

    • 引数 1($name)は、テーマ設定のキー名を指定します。省略できません。
    • 引数 2($default)は、キー名が存在しない場合に返却する値を指定します。初期値は false です。
    • 返却値($mod)は、テーマ設定値を返却します。

    使用例は、以下の通りです。

    
    $background_color = get_theme_mod( 'background_color' );
    
  18. get_the_author(投稿の投稿者名を取得)

    $author = get_the_author( )

    投稿の投稿者名を返却します。ループの中で使用します。

    • 引数は、ありません。
    • 返却値($author)は、投稿者名を返却します。

    使用例は、以下の通りです。

    
    $author = get_the_author();
    
  19. get_the_category(投稿のカテゴリィ(リンク付き)を取得)

    $categories = get_the_category( $id )

    カテゴリーのオブジェクト配列を返却します。ループの中でも外でも使えますがループの外で使う場合は ID が必要になります。

    • 引数 1($id)は、カテゴリー ID を指定します。初期値は、現在の投稿に付与されているカテゴリーです。
    • 返却値($categories)は、カテゴリーのオブジェクト配列を返却します。返却されるカテゴリーのオブジェクト配列の項目($item)には、以下の要素が格納されています。
      term_id
      カテゴリー ID が格納されます。
      cat_ID
      カテゴリー ID(term_id と同じ値)が格納されます。
      name
      カテゴリー名が格納されます。
      slug
      スラッグが格納されます。
      description
      カテゴリーの説明が格納されます。
      parent
      親のカテゴリー ID が格納されます。
      count
      同じカテゴリーが付いている投稿の数が格納されます。

    使用例は、以下の通りです。

    
    $categories = get_the_category();
    if ( $categories ) {
    	foreach ( $categories as $item ) {
    		// 項目($item)の処理
    		$name = $item->name;		// カテゴリー名の取得
    		$count = $item->count;		// 投稿数の取得
    	}
    }
    
  20. get_the_date(投稿の日付を取得)

    $date = get_the_date( $format, $post_id )

    投稿の日付を返却します。ループの中でも外でも使えますがループの外で使う場合、投稿 ID が必要になります。

    • 引数 1($format)は、日付のフォーマットを指定します。初期値は、日付フォーマットの設定値になります。 日付フォーマットに使用する主要な文字は、date 関数を参照してください。
    • 引数 2($post_id)は、投稿 ID または、タイトルを特定するオブジェクトを指定します。初期値は null(現在の投稿)です。
    • 返却値($date)は、フォーマット済みの投稿の日付を返却します。

    使用例は、以下の通りです。

    
    $date = get_the_date( 'Y年m月d日 G:i' );
    
  21. get_the_excerpt(投稿の抜粋を取得)

    $excerpt = get_the_excerpt( )

    現在の投稿の概要を返却します。ループのなかでのみ使用することができます。

    • 引数は、ありません。
    • 返却値($excerpt)は、投稿の概要に '[…]' を付けた文字列を返却します。

    使用例は、以下の通りです。

    
    $excerpt = get_the_excerpt();
    
  22. get_the_ID(投稿の投稿 ID を取得)

    $post_id = get_the_ID( )

    現在の投稿の ID(数値)を返却します。ループのなかでのみ使用することができます。

    • 引数は、ありません。
    • 返却値($post_id)は、現在の投稿の ID(数値)を返却します。

    使用例は、以下の通りです。

    
    $post_id = get_the_ID();
    
  23. get_the_modified_date(投稿の更新日を取得)

    $date = get_the_modified_date( $format, $post_id )

    投稿 ID を元に、投稿の更新日を返却します。ループの中でも外でも使えますがループの外で使う場合は、投稿 ID が必要になります。

    • 引数 1($format)は、日付のフォーマットを指定します。初期値は、日付フォーマットの設定値になります。 日付フォーマットに使用する主要な文字は date 関数を参照してください。
    • 引数 2($post_id)は、投稿の ID または、タイトルを特定するオブジェクトを指定します。初期値は null(現在の投稿)です。
    • 返却値($date)は、フォーマット済みの投稿の日付を返却します。

    使用例は、以下の通りです。

    
    $date = get_the_modified_date( 'Y年m月d日 G:i' );
    
  24. get_the_permalink(投稿のパーマリンクを取得)

    $link = get_the_permalink( $post_id, $leavename )

    投稿 ID を元に、投稿のパーマリンクを返却します。ループの中でも外でも使えますがループの外で使う場合は、投稿 ID が必要になります。

    • 引数 1($post_id)は、投稿の ID または、タイトルを特定するオブジェクトを指定します。初期値は null(現在の投稿)です。
    • 引数 2($leavename)は、投稿名またはページ名を保持するかを指定します。初期値は false です。
    • 返却値($link)は、パーマリンクの URL を返却します。投稿が存在しない場合は false を返却します。

    使用例は、以下の通りです。

    
    $link = get_the_permalink( );
    
  25. get_the_posts_pagination(投稿の前・次ページへリンクするページ番号のセット(HTML)を取得)

    $pagination = get_the_posts_pagination( $args )

    投稿の前と次のページへリンクするページ番号のセット(HTML)を返却します。投稿リスト(index.php など)やアーカイブ(archive.php など)で使われます。

    • 引数 1($args)は、連想配列で表示形式のオプションを指定します。表示形式のオプションは、以下の値を指定します。
      mid_size
      現在のページの左右に表示するページ番号の数を指定します。初期値は、1 です。
      prev_text
      投稿の前を示すリンクテキストを指定します。初期値は 'Previous' です。
      next_text
      投稿の次を示すリンクテキストを指定します。初期値は 'Next' です。
      screen_reader_text
      スクリーンリーダー用テキストを指定します。初期値は 'Posts navigation' です。
    • 返却値($pagination)は、投稿の前と次のページへリンクするページ番号のセット(HTML)を返却します。

    使用例は、以下の通りです。

    
    $pagination = get_the_posts_pagination( array(
    	'mid_size'  => 2,					// 現在のページの左右に表示するページ番号の数
    	'prev_text' => __('Previous'),		// 前のセットへのリンクテキスト
    	'next_text' => __('Next')			// 次のセットへのリンクテキスト
    ) );
    

    返却される HTML の例は、以下の通りです。

    
    <nav class="navigation pagination" aria-label="投稿">
    	<h2 class="screen-reader-text">投稿ナビゲーション</h2>
    	<div class="nav-links"><a class="prev page-numbers" href="http://test.local/">前</a>
    		<a class="page-numbers" href="http://test.local/">1</a>
    		<span aria-current="page" class="page-numbers current">2</span>
    		<a class="page-numbers" href="http://test.local/page/3/">3</a>
    		<a class="page-numbers" href="http://test.local/page/4/">4</a>
    		<a class="next page-numbers" href="http://test.local/page/3/">次</a>
    	</div>
    </nav>
    
  26. get_the_post_thumbnail_url(投稿 ID からアイキャッチ画像の URL を取得)

    $url = get_the_post_thumbnail_url( $post_id, $image_size )

    投稿 ID を元に、アイキャッチ画像の URL を返却します。ループの中でも外でも使えますがループの外で使う場合は、投稿 ID が必要になります。

    • 引数 1 は、投稿 ID または、タイトルを特定するオブジェクトを指定します。初期値は null(現在の投稿)です。
    • 引数 2 は、画像のサイズを示す文字列か高さと幅を格納した配列を指定します。
      'post-thumbnail'、'thumbnail'、'medium'、'large'、'full' を指定します。初期値は 'post-thumbnail' です。
    • 返却値($url)は、アイキャッチ画像の URL を返却します。

    使用例は、以下の通りです。

    
    $url = get_the_post_thumbnail_url( get_the_ID(), 'thumbnail' );
    
  27. get_the_time(投稿 ID から時刻を取得)

    $time = get_the_time( $format, $post )

    投稿 ID を元に、投稿の時刻を PHP で使えるように返却します。ループの中でも外でも使えますがループの外で使う場合は、投稿 ID が必要になります。

    • 引数 1($format)は、時刻のフォーマットを指定します。初期値は、時刻フォーマットの設定値になります。 時刻フォーマットに使用する主要な文字は date 関数を参照してください。
    • 引数 2($post)は、投稿の ID または、タイトルを特定するオブジェクトを指定します。初期値は null(現在の投稿)です。
    • 返却値($time)は、投稿の時刻を PHP で使えるような値で返却します。

    使用例は、以下の通りです。

    
    $time = get_the_time( 'G:i' );
    
  28. get_the_title(投稿 ID から投稿のタイトルを取得)

    $title = get_the_title( $id )

    投稿 ID を元に、投稿のタイトルを返却します。ループの中でも外でも使えますがループの外で使う場合は、投稿 ID が必要になります。

    • 引数 1($id)は、投稿の ID または、タイトルを特定するオブジェクトを指定します。初期値は null(現在の投稿)です。
    • 返却値($title)は、投稿のタイトルを返却します。

    使用例は、以下の通りです。

    
    $title = get_the_title();
    

A2.2.9 「H」で始まる関数・変数

  1. has_custom_logo(カスタムロゴの設定有無を返却)

    $bool = has_custom_logo( $blog_id )

    カスタムロゴが設定されているか否かを返却します。

    • 引数 1($blog_id)は、ブログ ID を指定します。初期値は 0 です。
    • 返却値($bool)は、カスタムロゴが設定されていれば true そうでなければ false を返却します。

    使用例は、以下の通りです。

    
    $bool = has_custom_logo();
    
  2. has_nav_menu(メニューの割り当て有無を返却)

    $bool = has_nav_menu( $location )

    指定位置にメニューが割り当てられているかを返却します。

    • 引数 1($location)は、位置名を指定します。
    • 返却値($bool)は、指定位置にメニューが割り当てられていれば true そうでなければ false を返却します。

    使用例は、以下の通りです。

    
    $bool = has_nav_menu( 'primary' );
    
  3. has_post_thumbnail(アイキャッチ画像の登録有無を返却)

    $bool = has_post_thumbnail( $post_id )

    アイキャッチ画像が登録されているかをチェックし結果を返却します。

    • 引数 1($post_id)は、投稿 ID を指定します。初期値は、現在の投稿です。
    • 返却値($bool)は、アイキャッチ画像が登録されていれば true そうでなければ false を返却します。

    使用例は、以下の通りです。

    
    $bool = has_post_thumbnail();
    
  4. have_posts(ループできる処理対象の有無を返却)

    $bool = have_posts( )

    現在の WordPress クエリにループできる処理対象があるかどうかをチェックします。

    • 引数は、ありません。
    • 返却値($bool)は、ループできる処理対象がある場合は true が返却され、それ以外の場合は false を返却します。

    使用例は、以下の通りです。

    
    if ( have_posts() ) {				// 処理するクエリがあるかのチェック
    	while ( have_posts() ) {		// 処理するクエリが無くなるまでループ
    		the_post();					// 処理するクエリ情報の設定
    		・・・						// 個別クエリの処理
    	}
    }
    else {
    	/* 処理するクエリがない場合の処理 */
    }
    
  5. home_url(ホーム URL を返却)

    $url = home_url( $path, $scheme )

    現在のホーム URL を返却します。

    • 引数 1($path)は、ホーム URL からの相対パスを指定します。省略可能で初期値はありません。
    • 引数 2($scheme)は、ホーム URL に使うスキームを指定します。'http'、'https'、'relative'(相対パス)が指定可能です。初期値は null です。
    • 返却値($url)は、現在のホーム URL を返却します。

    使用例は、以下の通りです。

    
    $url = home_url( '/' );
    

A2.2.10 「I」で始まる関数・変数

  1. in_array(PHP 関数)(配列に値があるかの検査)

    $bool = isset( $needle, $haystack, $strict )

    配列内に指定した値が存在するかの検査を行います。

    • 引数 1 ($needle)は、検査する値を指定します。
    • 引数 2 ($haystack)は、検査対象の配列を指定します。
    • 引数 3 ($$strict)は、型の比較を行うか否かを指定します。true を指定した場合は、型も合致しているかの検査を行い、false を指定した場合は、型の検査は行いません。初期値は false です。
    • 返却値($bool)は、配列内に値が存在する場合は true を返却し、それ以外の場合は false を返却します。

    使用例は、以下の通りです。

    
    $array = [ 'value1', 'value2' ];
    $bool = in_array( 'value1', $array );		// true
    $bool = in_array( 'value3', $array );		// false
    
  2. isset(PHP 関数)(変数がセットされているかの検査)

    $bool = isset( $var, … $vars )

    変数が宣言されていて、値が null 以外であることを検査します。

    • 引数 1 ($var)は、検査する変数を指定します。
    • 引数 2 ($vars)は、検査する別の変数を指定します。(複数の変数を同時に検査可能です)
    • 返却値($bool)は、全ての変数が宣言されていて、値は null 以外の場合に true を返却し、宣言されていない変数や値が null の変数があった場合は false を返却します。指定した変数が連想配列の場合に $var['key'] と指定することで指定した連想配列内に 'key' が存在し、その値が null 以外であれば true が返却されます。

    使用例は、以下の通りです。

    
    $a = '';
    $bool = isset( $a );					// true
    $b = null;
    $bool = isset( $b );					// false
    
  3. is_404(404 ページの表示中か否かを返却)

    $bool = is_404( )

    404 ページを表示中かどうかをチェックして結果を返却します。

    • 引数は、ありません。
    • 返却値($bool)は、404 ページが表示中の場合は true が返却され、それ以外の場合は false を返却します。

    使用例は、以下の通りです。

    
    $bool = is_404();
    
  4. is_active_sidebar(サイドバーにウィジェットが含まれているか否かを返却)

    $bool = is_active_sidebar( $index )

    サイドバーにウィジェットが含まれているかどうかをチェックして結果を返却します。

    • 引数 1($index)は、表示するウィジェットのインデックス(名前または ID)を指定します。省略時は 1 です。
    • 返却値($bool)は、ウィジェットが見つかった場合は true が返却され、見つからなかった場合は false が返却されます。

    使用例は、以下の通りです。

    
    if ( is_active_sidebar( 'my_widget' ) ) {
    	dynamic_sidebar( 'my_widget' );
    }
    
  5. is_archive(一覧(アーカイブ)ページの表示中か否かを返却)

    $bool = is_archive( )

    一覧(アーカイブ)ページを表示中かどうかをチェックして結果を返却します。

    • 引数は、ありません。
    • 返却値($bool)は、一覧(アーカイブ)ページが表示中の場合は true が返却され、それ以外の場合は false を返却します。

    使用例は、以下の通りです。

    
    $bool = is_archive();
    
  6. is_author(著者一覧(アーカイブ)ページの表示中か否かを返却)

    $bool = is_author( )

    著者一覧(アーカイブ)ページを表示中かどうかをチェックして結果を返却します。

    • 引数は、ありません。
    • 返却値($bool)は、著者一覧(アーカイブ)ページが表示中の場合は true が返却され、それ以外の場合は false を返却します。

    使用例は、以下の通りです。

    
    $bool = is_author();
    
  7. is_category(カテゴリーアーカイブページの表示中か否かを返却)

    $bool = is_category( $category )

    カテゴリーアーカイブページを表示中かどうかをチェックして結果を返却します。

    • 引数 1($category)は、カテゴリー ID、タイトル、スラッグ、またはそれらの配列を指定します。省略可能で初期値は、ありません
    • 返却値($bool)は、カテゴリーアーカイブページが表示中の場合は、true が返却され、それ以外の場合は false を返却します。

    使用例は、以下の通りです。

    
    $bool = is_category();
    
  8. is_date(日付に関連するアーカイブページの表示中か否かを返却)

    $bool = is_date( )

    日付に関連するアーカイブページを表示中かどうかをチェックして結果を返却します。

    • 引数は、ありません。
    • 返却値($bool)は、日付に関連するアーカイブページが表示中の場合は true が返却され、それ以外の場合は false を返却します。

    使用例は、以下の通りです。

    
    $bool = is_date();
    
  9. is_front_page(フロントページの表示中か否かを返却)

    $bool = is_front_page( )

    フロントページを表示中かどうかをチェックして結果を返却します。フロントページとは、サイトを開いた時に最初に表示されるページを固定ページに設定してある時に、その最初に表示される固定ページを示します。

    • 引数は、ありません。
    • 返却値($bool)は、フロントページが表示中の場合は true が返却され、それ以外の場合は false を返却します。

    使用例は、以下の通りです。

    
    $bool = is_front_page();
    
  10. is_home(ホームページの表示中か否かを返却)

    $bool = is_home( )

    ホームページを表示中かどうかをチェックして結果を返却します。ホームページとは、サイトを開いた時に最初に表示されるページを投稿一覧(アーカイブ)ページに設定してある時(初期状態)に、その一覧ページを示します。

    • 引数は、ありません。
    • 返却値($bool)は、投稿一覧(アーカイブ)ページが表示中の場合は true が返却され、それ以外の場合は false を返却します。

    使用例は、以下の通りです。

    
    $bool = is_home();
    
  11. is_page(既存の単一ページの表示中か否かを返却)

    $bool = is_page( $page )

    既存の単一ページを表示中かどうかをチェックして結果を返却します。

    • 引数 1($page)は、ページの ID、タイトル、スラッグ、またはそれらの配列を指定します。省略可能で初期値は、ありません。
    • 返却値($bool)は、既存の単一ページが表示中の場合は、true が返却され、それ以外の場合は、false を返却します。

    使用例は、以下の通りです。

    
    $bool = is_page();
    
  12. is_paged(複数ページで 2 ページ目以降か否かを返却)

    $bool = is_paged( )

    表示中のページが複数ページにわたり、現在のページ番号が 1 より大きいかどうかを返却します。

    • 引数は、ありません。
    • 返却値($bool)は、現在のページ番号が 1 より大きい場合は true が返却され、それ以外の場合は false を返却します。

    使用例は、以下の通りです。

    
    $bool = is_paged();
    
  13. is_search(検索結果ページの表示中か否かを返却)

    $bool = is_search( )

    検索結果ページを表示中かどうかをチェックして結果を返却します。

    • 引数は、ありません。
    • 返却値($bool)は、検索結果ページが表示中の場合は、true が返却され、それ以外の場合は、false を返却します。

    使用例は、以下の通りです。

    
    $bool = is_search();
    
  14. is_single(投稿ページを表示中か否かを返却)

    $bool = is_single( $post )

    固定ページを除く個別の投稿ページを表示中かどうかをチェックして結果を返却します。

    • 引数 1($post)は、投稿 ID を指定します。省略可能で初期値は、ありません。
    • 返却値($bool)は、固定ページを除く、個別の投稿ページが表示中の場合は true が返却され、それ以外の場合は false を返却します。

    使用例は、以下の通りです。

    
    $bool = is_single();
    
  15. is_singular(投稿または固定ページを表示中か否かを返却)

    $bool = is_singular( $post_types )

    個別の投稿ページ(投稿または固定ページ)を表示中かどうかをチェックし結果を返却します。 投稿ページをチェックする場合は is_single 関数をを使用し、固定ページをチェックする場合は is_page 関数を使用します。

    • 引数 1($post_types)は、投稿タイプを指定します。省略可能で初期値は、ありません。
    • 返却値($bool)は、個別の投稿ページ(投稿または固定ページ)が表示中の場合は true が返却され、それ以外の場合は false を返却します。

    使用例は、以下の通りです。

    
    $bool = is_singular();
    
  16. is_tag(投稿タグアーカイブページを表示中か否かを返却)

    $bool = is_tag( $tag )

    投稿タグアーカイブページを表示中かどうかをチェックして結果を返却します。

    • 引数 1 は、タグ ID、名前、スラッグ、またはそれらの配列を指定します。省略可能で初期値は、ありません。
    • 返却値($bool)は、投稿タグアーカイブページが表示中の場合は、true が返却され、それ以外の場合は false を返却します。

    使用例は、以下の通りです。

    
    $bool = is_tag();
    

A2.2.11 「L」で始まる関数・変数

  1. language_attributes(<html> タグに言語属性を表示)

    language_attributes( $doctype )

    <html> タグに言語属性を表示します。

    • 引数 1($doctype)は、HTML ドキュメントの種類として 'xhtml' または 'html' を指定します。初期値は、'html' です。
    • 返却値は、ありません。

    使用例は、以下の通りです。

    
    <html <?php language_attributes(); ?>>
    
  2. load_theme_textdomain(テーマ翻訳ファイルを読み込み)

    $bool = load_theme_textdomain( $domain, $path )

    テーマ翻訳ファイルを読み込みます。

    • 引数 1($domain)は、テキストドメイン(翻訳ファイルを識別するために必要な個別識別子)を指定します。
    • 引数 2($path)は、翻訳ファイル(.mo)の存在するディレクトリを指定します。最後にスラッシュは必要ありません。初期値は、false です。
    • 返却値($bool)は、読み込みが成功した時は、true が返却され、失敗した時は false を返却します。

    使用例は、以下の通りです。

    
    load_theme_textdomain('my_theme', get_template_directory() . '/languages');
    

A2.2.12 「N」で始まる関数・変数

  1. next_post_link(日付順でひとつ次の投稿のリンクを表示)

    next_post_link( $format, $link, $in_same_term, $excluded_terms, $taxonomy )

    現在の投稿から見て日付順でひとつ次の投稿のリンクを表示します。必ずループの中で使用してください。

    • 引数 1($format)は、リンク文字列のフォーマットを指定します。文字列内に '%link' を指定するとアンカータグに置き換えられます。初期値は、'&laquo; %link' です。
    • 引数 2($link)は、表示するリンク文字を指定します。初期値は、'%title'(次の投稿タイトル)です。
    • 引数 3($in_same_term)は、現在の投稿と同じタクソノミー・ターム(例:カテゴリー)の投稿に限定するかどうかを指定します。 true を指定するとタクソノミー・タームがついた投稿だけを表示します。初期値は false です。
    • 引数 4($excluded_terms)は、表示させたくない投稿のターム ID(例:カテゴリー ID)を指定します。複数のタームを除外するには配列にするかカンマで区切って指定してください。省略可能で初期値はありません。
    • 引数 5($taxonomy)は、タクソノミーを指定します。引数 3 が true の場合に有効です。初期値は 'category' です。
    • 返却値は、ありません。

    使用例は、以下の通りです。

    
    next_post_link();
    
  2. nl2br(PHP 関数)(改行文字の前に br タグを挿入)

    $text = nl2br( $string, $use_xhtml )

    改行文字の前に br タグ(HTML の改行タグ)を挿入します。改行文字とは、\r\n、\n\r、\n、\r を示します。

    • 引数 1($string)は、編集する文字列を指定します。
    • 引数 2($use_xhtml)は、XHTML 準拠の改行を使うか否かを指定します。true を指定すると XHTML 準拠である <br /> が使用され、false を指定すると XHTML 準拠ではない <br> が使用されます。初期値は、true です。
    • 返却値($text)は、挿入後の文字列を返却します。

    使用例は、以下の通りです。

    
    $text = nl2br("今日は\n晴れです");
    
    【$text の内容】
    今日は<br />\n晴れです。
    
    
    $text = nl2br("今日は\n晴れです", false);
    
    【$text の内容】
    今日は<br>\n晴れです。
    

A2.2.13 「P」で始まる関数・変数

  1. PHP_EOL(PHP 定数)(改行)

    PHP_EOL

    改行を示す定数です。 "\n" と同じ意味ですが使用しているシステムに合わせた改行コードが定義されています。

    使用例は、以下の通りです。

    
    echo 'メッセージ' . PHP_EOL;
    
  2. previous_post_link(日付順でひとつ前の投稿のリンクを表示)

    previous_post_link( $format, $link, $in_same_term, $excluded_terms, $taxonomy )

    現在の投稿から見て日付順でひとつ前の投稿のリンクを表示します。必ずループの中で使用してください。

    • 引数 1($format)は、リンク文字列のフォーマットを指定します。文字列内に '%link' を指定するとアンカータグに置き換えられます。初期値は、'&laquo; %link' です。
    • 引数 2($link)は、表示するリンク文字を指定します。初期値は、'%title'(ひとつ前の投稿タイトル)です。
    • 引数 3($in_same_term)は、現在の投稿と同じタクソノミー・ターム(例:カテゴリー)の投稿に限定するかどうかを指定します。 true を指定するとタクソノミー・タームがついた投稿だけを表示します。初期値は false です。
    • 引数 4($excluded_terms)は、表示させたくない投稿のターム ID(例:カテゴリー ID)を指定します。複数のタームを除外するには配列にするかカンマで区切って指定してください。省略可能で初期値はありません。
    • 引数 5($taxonomy)は、タクソノミーを指定します。引数 3 が true の場合に有効です。初期値は 'category' です。
    • 返却値は、ありません。

    使用例は、以下の通りです。

    
    previous_post_link();
    

A2.2.14 「R」で始まる関数・変数

  1. register_nav_menu(カスタムメニューエディタへ登録)

    register_nav_menu( $location, $description )

    カスタムメニューエディタへ登録します

    • 引数 1($location)は、メニュー位置の識別子を指定します。
    • 引数 2($description)は、メニューの説明(ダッシュボードでメニューを識別するのに使用)を指定します。
    • 返却値は、ありません。

    使用例は、以下の通りです。

    
    register_nav_menu( 'primary', __( 'Primary menu' ) );
    
  2. register_nav_menus(複数のナビゲーションメニューを登録)

    register_nav_menus( $locations )

    複数のナビゲーションメニューを登録します。

    • 引数 1($locations)は、メニューの位置のスラッグ(キー)と、説明(一致している値)の連想配列を指定します。
    • 返却値は、ありません。

    使用例は、以下の通りです。

    
    register_nav_menus( array(
    	'primary' => __( 'Primary menu' ),
    	'footer_menu' => __( 'Custom Footer Menu' ),
    ) );
    
  3. register_post_type(投稿タイプを登録)

    $type = register_post_type( $post_type, $args )

    投稿タイプを登録します。投稿タイプでは、メタボックス、カスタムフィールド、投稿サムネイル、投稿ステータス、コメントなど、多数の組み込みコア機能をサポートできます。

    • 引数 1($post_type)は、登録する投稿タイプのキー名を指定します。20 文字以内とし、小文字の英数字、ハイフン、アンダースコアのみを使用できます。
    • 引数 2($args)は、登録する投稿タイプの引数を文字列または配列で指定します。主要な指定値は、以下の通りです。
      can_export
      この投稿タイプをエクスポートするか否かを指定します。初期値は true です。
      capabilities
      投稿タイプの機能の配列を指定します。初期値は capability_type が機能構築のベースとして使用されます。get_post_type_capabilities 関数を参照してください。
      capability_type
      読み取り、編集、削除機能を構築するために使用する文字列を指定します。この引数を機能構築のベースとして使用する場合には、代替の複数形を可能にするために配列(例:array( 'story', 'stories') )として渡すことができます。初期値は 'post' です。
      delete_with_user
      ユーザーを削除する時に、このタイプの投稿も削除するか否かを指定します。初期値は null です。
      true
      ユーザーを削除する時に、削除するユーザーに紐付いている投稿は、ごみ箱に移動されます。
      false
      ユーザーを削除しても投稿がゴミ箱に移動されたり削除されたりすることはありません。
      (未指定)
      投稿タイプが auther 機能をサポートしていれば投稿は、ゴミ箱に移動されます。そうでなければ投稿はゴミ箱への移動も削除もされません。
      description
      投稿タイプの説明を指定します。
      ep_mask
      割り当てを行うエンドポイントマスクを指定します。指定されていない場合で permalink_epmask が設定されている場合は permalink_epmask から継承されます。指定されていない場合で permalink_epmask が設定されていない場合は、デフォルトで EP_PERMALINK が使用されます。
      exclude_from_search
      この投稿タイプの投稿を検索結果から除外するか否かを指定します。true を指定すると除外となり、false を指定すると除外されません。初期値は public の指定値の反対の値になります。
      feeds
      投稿タイプにフィードパーマストラクトを作成するか否かを指定します。初期値は has_archive の値です。
      has_archive
      投稿タイプのアーカイブを作成するか否かを指定します。文字列を指定した場合は、使用するアーカイブスラッグを指定します。rewrite が有効になっている場合は、適切な書き換えルールが生成されます。初期値は false です。
      hierarchical
      投稿タイプが階層構造か否かを指定します。true を指定すると階層構造となり、false(初期値)を指定すると非階層構造になります。
      label
      メニューに表示する投稿タイプの名前を指定します。省略すると labels[ 'name' ] が使用されます。
      labels
      登録する投稿タイプに指定するラベル情報の配列を指定します。label よりも詳細に設定できます。初期値は、階層構造を持たない投稿タイプ(投稿など)と階層構造をもつ投稿タイプ(固定ページなど)で異なります。主要な指定値は、以下の通りです。
      add_new
      新しいアイテムを追加するためのラベルを指定します。初期値は 'Add Post' / 'Add Page' です。
      add_new_item
      新しい単数アイテムを追加するためのラベルを指定します。初期値は 'Add Post' / 'Add Page' です。
      all_items
      サブメニューの全ての項目を示すラベルを指定します。初期値は 'All Posts' / 'All Pages' です。
      archives
      ナビゲーションメニュー内のアーカイブのラベルを指定します。初期値は 'Post Archives' / 'Page Archives' です。
      attributes
      属性メタボックスのラベルを指定します。初期値は 'Post Attributes' / 'Page Attributes' です。
      edit_item
      単数アイテムを編集するためのラベルを指定します。初期値は 'Edit Post' / 'Edit Page' です。
      featured_image
      画像メタボックスのタイトルのラベルを指定します。初期値は 'Featured image' です。
      filter_by_date
      リストテーブルの日付フィルターのラベルを指定します。初期値は 'Filter by date' です。
      filter_items_list
      テーブルビューの非表示見出しフィルターのラベルを指定します。初期値は 'Filter posts list' / 'Filter pages list' です。
      insert_info_item
      メディアフレームボタンのラベルを指定します。初期値は 'insert into post' / 'insert into page' です。
      items_list
      テーブルの非表示見出しのラベルを指定します。初期値は 'Posts list' / 'Pages list' です。
      items_list_naviation
      テーブルのページネーションの非表示見出しのラベルを指定します。初期値は 'Posts list navigation' / 'Pages list navigation' です。
      item_link
      ナビゲーションリンクブロックのタイトルを指定します。初期値は 'Post Link' / 'Page Link' です。
      item_link_description
      ナビゲーションリンクブロックの説明を指定します。初期値は 'A link to a post.' / 'A link to a page.' です。
      item_published
      アイテムが公開された時に使用されるラベルを指定します。初期値は 'Post published.' / 'Page published.' です。
      item_published_privately
      アイテムが非公開に設定された時のラベルを指定します。初期値は 'Post published privately.' / 'Page published privately.' です。
      item_reverted_to_draft
      アイテムが下書きに設定された時のラベルを指定します。初期値は 'Post reverted to draft.' / 'Page reverted to draft.' です。
      item_scheduled
      アイテムが予約公開に設定された時のラベルを指定します。初期値は 'Post scheduled.' / 'Page scheduled.' です。
      item_trashed
      アイテムがゴミ箱に移動された時のラベルを指定します。初期値は 'Post trashed.' / 'Page trashed.' です。
      item_updated
      アイテムが更新された時のラベルを指定します。初期値は 'Post updated.' / 'Page updated.' です。
      menu_name
      メニュー名のラベルを指定します。初期値は name の指定値です。
      name
      投稿タイプの名称を指定します。初期値は 'Posts' / 'Pages' です。
      new_item
      新しいアイテムページのタイトルのラベルを指定します。初期値は 'New Post' / 'New Page' です。
      not_found
      アイテムがみつからなかった時のラベルを指定します。初期値は 'No posts found' / 'No pages found' です。
      not_found_in_trash
      ゴミ箱にアイテムがない時のラベルを指定します。初期値は 'No posts found in Trash' / 'No pages found in Trash' です。
      parent_item_colon
      階層構造を持つアイテムの親要素の接頭語として使用するラベルを指定します。初期値は 'Parent Page:' です。
      remove_featured_image
      画像を削除するためのラベルを指定します。初期値は 'Remove featured image' です。
      search_items
      複数項目を検索するためのラベルを指定します。初期値は 'Search Posts' / 'Search Pages' です。
      set_featured_image
      画像を設定するためのラベルを指定します。初期値は 'Set featured image' です。
      singular_name
      投稿タイプのオブジェクト名を指定します。初期値は 'Post' / 'Page' です。
      use_featured_image
      メディアフレームでアイキャッチ画像を使用するためのラベルを指定します。初期値は 'Use as featured image' です。
      uploaded_to_this_item
      メディアフレームフィルターのラベルを指定します。初期値は 'Uploaded to this post' / 'Uploaded to this page' です。
      view_item
      単一アイテムを表示するためのラベルを指定します。初期値は 'View Post' / 'View Page' です。
      view_items
      投稿タイプの一覧を表示するためのラベルを指定します。初期値は 'View Posts' / 'View Pages' です。
      map_meta_cap
      内部のデフォルトメタ機能処理を使用するか否かを指定します。初期値は false です。
      menu_icon
      メニューで使用するアイコンの URL を指定します。base64 でエンコードされた SVG を指定することもできます。省略すると投稿アイコンが使用されます。
      menu_position
      メニュー内の投稿タイプが表示される位置を指定します。null を指定すると一番下になります。本値を有効にするには show_in_menu に true を指定する必要があります。
      5
      投稿の下
      10
      メディアの下
      15
      リンクの下
      20
      固定ページの下
      25
      コメントの下
      60
      最初の区切りの下(コメントの下の区切り)
      65
      プラグインの下
      70
      ユーザーの下
      75
      ツールの下
      80
      設定の下
      100
      2 つ目の区切りの下
      pages
      パーマストラクトがページネーション機能を提供するか否かを指定します。初期値は true です。
      public
      投稿タイプを管理画面に表示するか否かを指定します。true を指定すると表示となり、false(初期値)を指定すると非表示になります。
      publicly_queryable
      投稿タイプがフロントエンドでクエリを実行できるか否かを指定します。true を指定すると実行でき false を指定すると実行できません。初期値は public の指定値が継承されます。
      query_var
      この投稿タイプの query_var キーを指定します。初期値は post_type キーです。false の場合は {query_var}={post_slug} で投稿タイプを読み込むことはできません。文字列を指定した場合は {query_var_string}={post_slug} というクエリが有効になります。
      register_meta_box_cb
      編集フォームのメタボックスを設定するコールバック関数を提供します。 コールバック関数内で remove_meta_box 関数と add_meta_box 関数を呼び出します。初期値は null です。
      rewrite
      投稿タイプの書き換え処理をトリガーします。書き換えを防止するには false に設定してください。初期値は true で post_type をスラッグとして使用します。書き換えルールを指定するには、キーを含む配列を指定すことができます。
      show_in_admin_bar
      この投稿タイプを管理バーから利用できるか否かを指定します。true は利用でき、false は利用できません。初期値は show_in_menu の指定値が継承されます。
      show_in_menu
      管理画面のメニューで、この投稿タイプを表示する場所を指定します。true を指定するとトップレベルメニューに表示され、false を指定するとメニューは、表示されません。トップレベルメニューの文字列('tools.php' や 'edit.php?post_type=page')を指定すると、そのメニューのサブメニューとして表示されます。本機能させるには、show_ui に true を設定する必要があります。初期値は show_ui の値が継承されます。
      show_in_nav_menus
      この投稿タイプをナビゲーションメニューで選択できるか否かを指定します。true は選択でき、false は選択できません。初期値は public の指定値が継承されます。
      show_in_rest
      投稿タイプを REST API に含めるか否かを指定します。ブロックエディターで投稿タイプを使用できるようにするには true に設定してください。
      show_ui
      管理画面で、この投稿タイプの UI を生成できるか否かを指定します。初期値は public の指定値が継承されます。
      slug
      パーマストラクトのスラッグをカスタマイズします。初期値は post_type キーです。
      supports
      投稿タイプがサポートするコア機能の文字列を配列で指定します。初期値は title と editor が指定されています。
      author
      作者名
      comments
      コメント
      custom-fields
      カスタムフィールド
      editor
      エディタ
      excerpt
      抜粋
      page-attributes
      ページ属性
      post-dormats
      カスタムフォーマット
      revisions
      リビジョン
      title
      タイトル
      trackbacks
      トラックバック送信
      thumnail
      アイキャッチ画像
      taxonomies
      投稿タイプに登録される分類識別子の配列を指定します。分類は、register_taxonomy 関数または register_taxonomy_for_object_type 関数を使用して後から登録できます。
      template
      エディタがブロックを初期状態で使用するを要素を含むブロック名とオプション属性を含む配列で指定します。
      template_lock
      template が指定されている場合にブロックテンプレートをロックするか否かを指定します。
      all
      ユーザーがブロックの挿入、移動、削除をすることができません。
      insert
      ユーザーがブロックの移動をできますが、新しいブロックの挿入や削除をすることができません。
      with_front
      パーマストラクトの前に WP_Rewrite::$front を付加するか否かを指定します。初期値は true です。
    • 返却値($type)は、登録が成功した場合は WP_Post_Type オブジェクトが返却され、失敗した場合は WP_Error オブジェクトが返却されます。

    使用例は、以下の通りです。

    
    register_post_type('custom_type', array(		// カスタム投稿タイプ名(英字)
    	'label' => 'カスタム投稿',					// カスタム投稿タイプ表示名
    	'labels' => array(							// カスタム投稿タイプ表示名(詳細設定)
    		'name' => 'カスタム投稿',
    		'singular_name' => 'カスタム投稿',
    	),
    	'public' => true,							// 公開
    	'hierarchical' => false,					// 親記事指定
    	'menu_icon' => 'dashicons-megaphone',		// メニューアイコン
    	'has_archive' => true,						// アーカイブページ表示
    	'show_in_rest' => true,						// REST APIに公開、ブロックエディタ有効化
    	'show_in_menu' => true,						// 管理画面のメニューに表示
    	'menu_position' => 6,						// 管理画面のメニュー位置
    	'supports' => array(						// 編集画面表示項目設定
    		'title',								// タイトル入力可
    		'editor',								// 本文エディタ有効
    	),
    ));
    
  4. register_setting(オプションの設定情報の登録)

    register_setting( $option_group, $option_name, $args )

    オプションの設定情報を登録します。

    • 引数 1($option_group)は、オプションのグループ名を指定します。システムで用意されているグループ名('general'、'discussion'、'media'、'reading'、'writing'、'options')または作成者が独自に作成したグループ名を指定します。
    • 引数 2($option_name)は、オプションの名前を指定します。
    • 引数 3($args)は、登録するオプションの情報を連想配列で指定します。省略時は、空配列です。
      default
      値取得(get_option 関数)時のデフォルト値を指定します。省略時は、なしです。
      description
      オプションの説明を指定します。省略時は、空文字です。
      sanitize_callback
      サニタイズ用のコールバック関数を指定します。省略時は null です。
      show_in_rest
      REST API で使用可能にする場合は true または 'schema' キーを持つ連想配列を指定します。省略時は false です。
      labe;
      オプションのラベルを指定します。
      type
      データタイプ('string'、'boolean'、'integer'、'number'、'array'、'object')を指定します。省略時は 'string' です。
    • 返却値は、ありません。

    設定ページの作成方法については「L7.4 設定画面プラグイン作成」を参照してください。

    使用例は、以下の通りです。

    
    register_setting('my_setting_group', 'text_field');
    
  5. register_sidebar(ウィジェットを登録)

    $id = register_sidebar( $args )

    単一のウィジェットを登録します。複数回呼び出すことが可能です。

    • 引数 1($args)は、登録するウィジェット情報の配列を指定します。
      after_sidebar
      サイドバー表示時の後に追加する HTML を指定します。dynamic_sidebar_after アクションの前に追加されます。
      after_title
      ウィジェットのタイトルの後に追加する HTML を指定します。
      after_widget
      ウィジェットの後に追加する HTML を指定します。
      before_sidebar
      サイドバー表示時の前に追加する HTML を指定します。dynamic_sidebar_before アクションの後に追加されます。
      before_title
      ウィジェットのタイトルの前に追加する HTML を指定します。
      before_widget
      ウィジェットの前に追加する HTML を指定します。
      class
      ウィジェットインタフェースのサイドバーに割り当てるクラス名を指定します。
      description
      ウィジェットの説明を指定します。
      id
      ウィジェットの識別子を指定します。他のウィジェットとは重複しない名称を指定してください。
      name
      ウィジェットの名称を指定します。
      show_in_rest
      サイドバーを REST API で公開するか指定します。デフォルトは管理者ユーザーのみに表示されます。
    • 返却値($id)は、サイドバー ID(文字列)が返却されます。

    使用例は、以下の通りです。

    
    function my_theme_widget_settings() {
    	register_sidebar( array(
    		'name' => 'サイドバー',
    		'id' => 'sidebar',
    		'description' => 'サイドバーに表示されます',
    		'before_widget' => '<div id="%1$s" class="widget widget--sidebar %2$s">',
    		'after_widget' => '</div>',
    		'before_title' => '<h2 class="widget__ttl widget__ttl--sidebar"><span class="widget__ttl-inner">',
    		'after_title' => '</span></h2>',
    	) );
    }
    add_action('widgets_init', 'my_theme_widget_settings');
    
  6. remove_action(アクションフックの削除)

    $return = remove_action( $hook_name, $callback, $priority, $accepted_args )

    アクションフックを削除します。

    • 引数 1($hook_name)は、削除するアクション名を指定します。
    • 引数 2($callback)は、削除する処理関数名を指定します。
    • 引数 3($priority)は、削除するアクションの順序を指定します。初期値は 10 です。
    • 引数 4($accepted_args)は、関数呼び出し時に渡す引数の数を指定します。初期値は 1 です。
    • 返却値($return)は、アクションが削除されたか否かを返却します。true は削除が成功したことを示し false は削除が失敗したことを示します。

    使用例は、以下の通りです。

    
    remove_action( 'init', 'custom_post_type_setup' );
    
  7. remove_filter(フィルターフックの削除)

    $return = remove_filter( $hook_name, $callback, $priority, $accepted_args )

    フィルターフックを削除します。

    • 引数 1($hook_name)は、削除するフィルター名を指定します。
    • 引数 2($callback)は、削除する処理関数名を指定します。
    • 引数 3($priority)は、削除するフィルターの順序を指定します。初期値は 10 です。
    • 引数 4($accepted_args)は、関数呼び出し時に渡す引数の数を指定します。省略可能であり初期値は 1 です。
    • 返却値($return)は、フィルターが削除されたか否かを返却します。true は削除が成功したことを示し false は削除が失敗したことを示します。

    使用例は、以下の通りです。

    
    remove_filter( 'the_content', 'add_signature_to_posts' );
    
  8. remove_shortcode(ショートコードの削除)

    $return = remove_shortcode( $tag )

    ショートコードを削除します。

    • 引数 1($tag)は、削除するショートコードのタグ名を指定します。
    • 返却値は、ありません。

    ショートコードの使用方法については「L3.4 ショートコード」を参照してください。

    使用例は、以下の通りです。

    
    remove_shortcode( 'my-shortcode' );
    

A2.2.15 「S」で始まる関数・変数

  1. sanitize_textarea_field(複数行文字列のサニタイズ結果を返却)

    $text = sanitize_textarea_field( $str )

    ユーザーが入力した複数行文字列やデータベースから取得した複数行文字列などをサニタイズ(無害化)して結果を返却します。サニタイズとは、悪意ある文字列や処理に影響を与える文字列を無効にすることを示します。sanitize_text_field 関数と似ていますが、本関数は、改行、タブ文字、空白文字を保持します。

    • 引数 1($str)は、サニタイズする文字列を指定します。
    • 返却値($text)は、サニタイズされた文字列を返却します。

    使用例は、以下の通りです。

    
    $text = sanitize_textarea_field( $input_str );
    
  2. sanitize_text_field(単一行文字列のサニタイズ結果を返却)

    $text = sanitize_text_field( $str )

    ユーザーが入力した単一行文字列やデータベースから取得した単一行文字列などをサニタイズ(無害化)して結果を返却します。サニタイズとは、悪意ある文字列や処理に影響を与える文字列を無効にすることを示します。sanitize_textarea_field 関数と似ていますが、本関数は、改行、タブ文字、余分な空白文字などを削除します。

    • 引数 1($str)は、サニタイズする文字列を指定します。
    • 返却値($text)は、サニタイズされた文字列を返却します。

    使用例は、以下の通りです。

    
    $text = sanitize_text_field( $input_str );
    
  3. selected(HTML selected 属性の表示・返却)

    $text = selected( $selected, $current, $display )

    HTML の selected 属性を表示・返却します。表示・返却される HTML の selected 属性は " selected='selected'" です。

    • 引数 1($selected)は、比較対象になる値を指定します。
    • 引数 2($current)は、比較対象になる、もう一つの値を指定します。
    • 引数 3($display)は、結果を表示するか否かを指定します。true を指定すると表示し、false を指定すると返却します。初期値は true です。
    • 返却値($text)は、$display に true を指定すると空文字列を返却し false を指定すると HTML 属性を返却します。

    使用例は、以下の通りです。

    
    selected( $value, 'type-1' );
    
  4. settings_fields(オプションの設定情報の表示)

    settings_fields( $option_group )

    オプションの設定情報を表示します。

    • 引数 1($option_group)は、オプションのグループ名を指定します。register_setting 関数で指定したグループ名と一致している必要があります。
    • 返却値は、ありません。

    設定ページの作成方法については「L7.4 設定画面プラグイン作成」を参照してください。

    使用例は、以下の通りです。

    
    settings_fields('my_setting_group');
    
  5. set_post_thumbnail_size(アイキャッチ画像のデフォルトの大きさを指定)

    set_post_thumbnail_size( $width, $height, $crop )

    アイキャッチ画像(投稿サムネイル)のデフォルトの大きさを指定します。アイキャッチ画像の別のサイズを登録するには add_image_size 関数を使ってください。

    • 引数 1($width)は、アイキャッチ画像の幅をピクセル数で指定します。省略可能で初期値は 0 です。
    • 引数 2($height)は、アイキャッチ画像の高さをピクセル数で指定します。初期値は 0 です。
    • 引数 3($crop)は、画像の切り出しを指定します。false を指定すると縦横比を維持して縮小し true を指定すると左右両方向または上下両方向で切り出しを行い、切り出し位置を指定(例えば、'array( 'top', 'left' )' )すると指定場所からの切り出しを行います。
    • 返却値は、ありません。

    使用例は、以下の通りです。

    
    set_post_thumbnail_size( 128, 128, false );
    
  6. shortcode_atts(ショートコードがサポートしている属性の設定)

    $atts_r = shortcode_atts( $pairs, $atts, $shortcode )

    ショートコードの引数をサポートされているキーの組み合わせを設定し、必要に応じて初期値を設定します。

    • 引数 1($pairs)は、ショートコードがサポートしている属性を連想配列で指定します。値には、省略時に設定する初期値を設定します。
    • 引数 2($atts)は、ユーザーが指定した引数の連想配列を指定します。
    • 引数 3($shortcode)は、フィルタリングするショートコード名を指定します。省略するとフィルタリングを行いません。
    • 返却値($atts_r)は、設定した連想配列を返却します。

    使用例は、以下の通りです。

    
    $atts = shortcode_atts( array('kind' => ''), $atts );
    
  7. single_cat_title(ページタイトルを表示または返却)

    $title = single_cat_title( $prefix, $display )

    カテゴリーまたはタグアーカイブが表示中に使用するとページタイトル(カテゴリー名またはタグ名)を表示または返却します。

    • 引数 1($prefix)は、タイトルの前に出力するテキストを指定します。省略可能で初期値は、ありません。
    • 引数 2($display)は、タイトルを表示するか返却するかを指定します。true を指定すると表示し false を指定すると返却します。初期値は true です。
    • 返却値($title)は、$display が false の場合は、ページタイトルを返却し、$display が true の場合は、返却値がありません。

    使用例は、以下の通りです。

    
    single_cat_title( '', true );
    
  8. single_tag_title(タグタイトルを表示または返却)

    $title = single_tag_title( $prefix, $display )

    タグアーカイブが表示中に使用するとタグタイトルを表示または返却します。

    • 引数 1($prefix)は、タイトルの前に出力するテキストを指定します。省略可能で初期値は、ありません。
    • 引数 2($display)は、タイトルを表示するか返却するかを指定します。true を指定すると表示し false を指定すると返却します。初期値は true です。
    • 返却値($title)は $display が false の場合は、タグタイトルを返却し、$display が true の場合は、返却値がありません。

    使用例は、以下の通りです。

    
    single_tag_title( '', true );
    
  9. site_icon_url(サイトアイコンの URL を表示)

    site_icon_url( $size, $url, $blog_id )

    サイトアイコンの URL を表示します。

    • 引数 1($size)は、アイコンのサイズ(ピクセル数)を指定します。初期値は 512 です。
    • 引数 2($url)は、サイトアイコンが未登録時の URL を指定します。初期値は、空文字です。
    • 引数 3($blog_id)は、マルチサイト時のブログ ID を指定します。初期値は 0 です。
    • 返却値は、ありません。

    使用例は、以下の通りです。

    
    site_icon_url();
    
  10. sprintf(PHP 関数)(文字列を整形して結果を返却)

    $text = sprintf( %format, $arg1, $arg2, ・・・ )

    文字列を整形して結果を返却します。

    • 引数 1 は、整形フォーマットを指定します。整形フォーマットには、複数の記述型式がありますが良く使用される '%s’ は、記述した位置に 引数 2 以降で指定した値が設定されます。'%n$s'(n は数値)と記述すると使用する引数の位置を指定できます。例えば、'%2$s' と指定すと 引数 3 が使用されます。
    • 引数 2 以降は、整形フォーマットに割り当てる値を指定します。
    • 返却値($text)は、整形済みテキストを返却します。

    使用例は、以下の通りです。

    
    $text = sprintf( 'arg1=%1$s, arg2=%2$s', 'value1', 'value2' );
    
  11. submit_button(送信ボタンの表示)

    submit_button( $text, $type, $name, $wrap, $other_attributes )

    送信ボタンを表示します。

    • 引数 1($text)は、ボタンに表示するテキストを指定します。省略時は「変更を保存」です。
    • 引数 2($type)は、ボタンのタイプと CSS クラスを指定します。指定した値により以下のクラスが出力されます。
      button-secondary
      (無視されます)
      large
      クラス属性に 'button button-large' を設定します。
      primary
      クラス属性に 'button button-primary' を設定します。
      secondary
      (無視されます)
      small
      クラス属性に 'button button-small' を設定します。
      (その他)
      指定した値をクラス属性に設定します。
    • 引数 3($name)は、ボタンの名前を指定します。引数 5($other_attributes)に id 属性が指定されていない場合は、本値が ボタンの id 属性値として使用されます。省略時は 'submit' です。
    • 引数 4($wrap)は、ボタン定義を p タグで囲うか否かを指定します。p タグで囲う場合は true を指定し、囲わない場合は false を指定します。省略時は true です。
    • 引数 5($other_attributes)は、ボタンの出力時に追加する属性と値を指定します。文字列で指定することもできますが一般的には連想配列(例えば array('id' => 'search-submit'))で指定します。省略時は、空文字列です。
    • 返却値は、ありません。

    設定ページの作成方法については「L7.4 設定画面プラグイン作成」を参照してください。

    使用例は、以下の通りです。

    
    submit_button('保存設定');
    

A2.2.16 「T」で始まる関数・変数

  1. the_archive_title(アーカイブのタイトルを表示)

    the_archive_title( $before, $after )

    クエリの内容に基づいてアーカイブのタイトルを表示します。

    • 引数 1($before)は、タイトルの直前に出力する文字列を指定します。省略可能です。
    • 引数 2($after)は、タイトルの直後に出力する文字列を指定します。省略可能です。
    • 返却値は、ありません。

    使用例は、以下の通りです。

    
    the_archive_title();
    
  2. the_category(投稿のカテゴリィを表示)

    the_category( $separator, $parents, $post_id )

    投稿のカテゴリィ一覧を HTML リスト形式またはカスタム形式で表示します。

    • 引数 1($separator)は、カテゴリィ間の区切り文字を指定します。省略すると順序性のないリストとして表示されます。
    • 引数 2($parents)は、親を表示する方法を 'multiple'(投稿が属するカテゴリィと親カテゴリィをそれぞれのリンク付きで表示)、'single'(投稿が属するカテゴリィと親カテゴリィを区切り文字で鋏みリンク付きで表示)で指定します。初期値は、空文字列です。
    • 引数 3($post_id)は、投稿 ID を指定します。初期値は、false(現在の投稿)です。
    • 返却値は、ありません。

    使用例は、以下の通りです。

    
    the_category();
    
    【出力される HTML 例】
    <ul class="post-categories">
    	<li><a href="カテゴリーアーカイブページのURL" rel="category tag">カテゴリー名○○</a></li>
    	<li><a href="カテゴリーアーカイブページのURL" rel="category tag">カテゴリー名△△</a></li>
    </ul>
    
    
    the_category(', ' , 'multiple');
    
    【出力される HTML 例】
    <a href="親カテゴリーアーカイブページのURL">親カテゴリー</a>, <a href="子カテゴリーアーカイブページのURL">子カテゴリー</a>, <a href="孫カテゴリーアーカイブページのURL" rel="category tag">孫カテゴリー</a>
    
    
    the_category(', ' , 'single');
    
    【出力される HTML 例】
    <a href="孫カテゴリーアーカイブページのURL" rel="category tag">親カテゴリー, 子カテゴリー, 孫カテゴリー</a> 
    
  3. the_content(投稿の本文を表示)

    the_content( $more_link_text, $stripteaser )

    現在の投稿の本文を表示します。ループの中でのみ使用できます。

    • 引数 1($more_link_text)は、<!--more--> 以降を読むためのリンクとして表示する文字列を指定します。初期値は '(more...)' です。
    • 引数 2($stripteaser)は、<!--more--> 以前の内容を隠すかどうかを指定します。true を指定すると <!--more--> 以降のみを表示するとこを指示し、false を指定すると本文をすべて表示します。初期値は false です。
    • 返却値は、ありません。

    使用例は、以下の通りです。

    
    the_content();
    
  4. the_custom_logo(カスタムロゴを表示)

    the_custom_logo( $blog_id )

    カスタムロゴを表示します。

    • 引数 1($blog_id)は、ブログ ID を指定します。初期値は 0 です。
    • 返却値は、ありません。

    使用例は、以下の通りです。

    
    the_custom_logo();
    
  5. the_date(投稿の日付を表示)

    $date = the_date( $format, $before, $after, $display )

    投稿の日付を表示します。ループの中で使用してください。

    • 引数 1($format)は、日付のフォーマットを指定します。初期値は、日付フォーマットの設定値になります。 日付フォーマットに使用する主要な文字は、date 関数を参照してください。
    • 引数 2($before)は、日付の直前に出力する文字列を指定します。省略可能です。
    • 引数 3($after)は、日付の直後に出力する文字列を指定します。省略可能です。
    • 引数 4($display)は、true を指定すると日付を表示し、false を指定すると返却します。初期値は false です。
    • 返却値($date)は $display が true の時は、日付が返却され $diaplsy が false の時は void になります。

    本関数は、同じ日の投稿が複数ある場合は、その日付は 1 回しか表示されません。 すべて表示したい場合は、the_time 関数を使用して表示フォーマットに日付形式を指定してください。

    使用例は、以下の通りです。

    
    the_date();
    
  6. the_excerpt(投稿の抜粋を表示)

    the_excerpt( )

    投稿の抜粋を表示します。ループの中で使用してください。
    get_the_excerpt 関数は、抜粋が、そのまま返却されますが、the_excerpt 関数は、p タグで囲まれて表示されます。

    • 引数は、ありません。
    • 返却値は、ありません。

    使用例は、以下の通りです。

    
    the_excerpt();
    
  7. the_ID(投稿の投稿 ID を表示)

    the_ID( )

    投稿の投稿 ID を表示します。ループの中で使用してください。

    • 引数は、ありません。
    • 返却値は、ありません。

    使用例は、以下の通りです。

    
    the_ID();
    
  8. the_modified_date(投稿の更新日を表示)

    $date = the_modified_date( $format, $before, $after, $display )

    投稿の更新日を表示します。ループの中で使用してください。

    • 引数 1($format)は、更新日のフォーマットを指定します。初期値は、日付フォーマットの設定値になります。
    • 更新日フォーマットに使用する主要な文字は、date 関数を参照してください。
    • 引数 2($before)は、更新日の直前に出力する文字列を指定します。省略可能です。
    • 引数 3($after)は、更新日の直後に出力する文字列を指定します。省略可能です。
    • 引数 4($display)は、true を指定すると更新日を表示し、false を指定すると返却します。初期値は false です。
    • 返却値($date)は $display が true の時は、更新日が返却され $display が false の時は void になります。

    使用例は、以下の通りです。

    
    the_modified_date();
    
  9. the_permalink(投稿のパーマリンクを表示)

    the_permalink( $post_id )

    投稿のパーマリンクを表示します。ループの中で使用してください。

    • 引数 1($post_id)は、投稿の ID または、タイトルを特定するオブジェクトを指定します。初期値は、現在の投稿 ID になります。
    • 返却値は、ありません。

    使用例は、以下の通りです。

    
    the_permalink();
    
  10. the_post(処理する投稿を次の投稿へ進める)

    the_post( )

    処理する投稿を次の投稿へ進めます。

    • 引数は、ありません。
    • 返却値は、ありません。

    使用例は、以下の通りです。

    
    if ( have_posts() ) {				// 処理するクエリがあるかのチェック
    	while ( have_posts() ) {		// 処理するクエリが無くなるまでループ
    		the_post();					// 処理するクエリ情報の設定
    		・・・						// 個別クエリの処理
    	}
    }
    
  11. the_post_navigation(投稿ページ向けナビゲーションを表示)

    the_post_navigation( $args )

    投稿ページ向けのナビゲーションを表示します。

    • 引数 1($args)は、パラメータを連想配列で以下の値を指定します。
      prev_text
      前ページリンクの表記を指定します。省略時は、'%title' です。
      next_text
      次ページリンクの表記を指定します。省略時は、'%title' です。
      screen_reader_text
      ナビゲーションの見出しを指定します。 省略時は、__( 'Post navigation'」です。
    • 返却値は、ありません。

    使用例は、以下の通りです。

    
    the_post_navigation( array(
    		'prev_text' => '前へ',
    		'next_text' => '次へ',
    	)
    );
    
  12. the_post_thumbnail(アイキャッチ画像の表示)

    the_post_thumbnail( $size, $attr )

    アイキャッチ画像を表示します。必ずループの中で使用してください。

    • 引数 1($size)は、画像のサイズを示す文字列か高さと幅を格納した配列を指定します。'post-thumbnail'、'thumbnail'、'medium'、'large'、'full' またはカスタム定義名 を指定します。初期値は 'post-thumbnail' です。
    • 引数 2($attr)は、クエリ文字列または属性の配列を指定します。省略時は、空文字です。
    • 返却値は、ありません。

    使用例は、以下の通りです。

    
    the_post_thumbnail();
    the_post_thumbnail( array(200, 150) );
    
  13. the_post_thumbnail_url(アイキャッチ画像の URL を表示)

    the_post_thumbnail_url( $size )

    アイキャッチ画像の URL を表示します。必ずループの中で使用してください。ループの外では、get_the_thumbnail_url を使用します。

    • 引数 1($size)は、画像のサイズを示す文字列か高さと幅を格納した配列を指定します。'post-thumbnail'、'thumbnail'、'medium'、'large'、'full' を指定します。初期値は 'post-thumbnail' です。
    • 返却値は、ありません。

    使用例は、以下の通りです。

    
    the_post_thumbnail_url();
    
  14. the_posts_pagination(投稿の前と次のページへリンクするページ番号のセットを表示)

    the_posts_pagination( $args )

    投稿の前と次のページへリンクするページ番号のセットを表示します。投稿リスト(index.php など)やアーカイブ(archive.php など)で使われます。

    • 引数 1($args)は、表示形式のオプションを指定します。初期値は、各オプションの初期値が使用されます。 表示形式のオプションは、以下の値を指定します。
      mid_size
      現在のページの左右に表示するページ番号の数を指定します。初期値は、1 です。
      prev_text
      投稿の前を示すリンクテキストを指定します。初期値は 'Previous' です。
      next_text
      投稿の次を示すリンクテキストを指定します。初期値は 'Next' です。
      screen_reader_text
      スクリーンリーダー用テキストを指定します。初期値は 'Posts navigation' です。
    • 返却値は、ありません。

    使用例は、以下の通りです。

    
    the_posts_pagination( array(			// ページネーションを表示
    	'mid_size'  => 2,					// 現在のページの左右に表示するページ番号の数
    	'prev_text' => __('Previous'),		// 前のセットへのリンクテキスト
    	'next_text' => __('Next')			// 次のセットへのリンクテキスト
    ) );
    

    投稿の前と次のページへリンクするページ番号のセットを表示される HTML の例は、以下の通りです。

    
    <nav class="navigation pagination" aria-label="投稿">
    	<h2 class="screen-reader-text">投稿ナビゲーション</h2>
    	<div class="nav-links"><a class="prev page-numbers" href="http://test.local/">前</a>
    		<a class="page-numbers" href="http://test.local/">1</a>
    		<span aria-current="page" class="page-numbers current">2</span>
    		<a class="page-numbers" href="http://test.local/page/3/">3</a>
    		<a class="page-numbers" href="http://test.local/page/4/">4</a>
    		<a class="next page-numbers" href="http://test.local/page/3/">次</a>
    	</div>
    </nav>
    
  15. the_time(投稿の時刻を表示)

    the_time( $format )

    投稿の時刻を表示します。ループの中で使用してください。

    • 引数 1($format)は、時刻のフォーマットを指定します。初期値は、時刻フォーマットの設定値になります。 時刻フォーマットに使用する主要な文字は、date 関数を参照してください。フォーマット文字を指定することで日付を表示することもできます。
    • 返却値は、ありません。

    使用例は、以下の通りです。

    
    the_time();
    
  16. the_title(投稿のタイトルを表示あるいは返却)

    $title = the_title( $before, $after, $echo )

    現在の投稿のタイトルを表示あるいは返します。必ずループの中で使用してください。ループの外では get_the_title 関数を使用します。

    • 引数 1($before)は、タイトルの前に置くテキストを指定します。省略可能で初期値は、ありません。
    • 引数 2($after)は、タイトルの後ろに置くテキストを指定します。省略可能で初期値は、ありません。
    • 引数 3($echo)は、タイトルを表示する時は true を指定し、返却する時は false を指定します。初期値は、true です。
    • 返却値($title)は、$echo が false の場合は、編集済みの投稿タイトルを返却し true の場合は、返却値がありません。

    使用例は、以下の通りです。

    
    the_title();
    

A2.2.17 「U」で始まる関数・変数

  1. update_post_meta(カスタムフィールドの値を更新)

    $value = update_post_meta( $post_id, $meta_key, $meta_value, $prev_value )

    指定したカスタムフィールド(メタフィールド)の値を更新します。

    • 引数 1($post_id)は、投稿 ID を指定します。
    • 引数 2($meta_key)は、メタデータのキーを指定します。
    • 引数 3($meta_value)は、メタデータの値を指定します。
    • 引数 4($prev_value)は、更新前に設定されている値を指定します。本値が指定されると更新前に指定した値が設定されているかの検査を行います。省略時は、空で、すべて更新されます。
    • 返却値($value)は、指定したキーが存在しないは登録したメタ ID を返却します。また、既にキーが存在して更新が成功した場合は true を返却し、失敗した場合は false を返却します。

    使用例は、以下の通りです。

    
    $value = update_post_meta($post_id, 'meta_key', 'meta_data');
    

A2.2.18 「W」で始まる関数・変数

  1. wptexturize(テキスト中の特定の記号の変換)

    $out_text = wptexturize( $text )

    指定されたテキスト中の特定の記号の並びをアポストロフィ、ダッシュ、省略符号(…)、商標記号、乗算記号などの変換を行い結果を返却します。 但し、特定のタグ(pre、code、kbd、style、script、tt)で囲まれた範囲は、変換の対象外になります。

    • 引数 1($text)は、変換を行うテキストを指定します。
    • 返却値($out_text)は、整形済みのテキストが返却されます。

    使用例は、以下の通りです。

    
    $out_text = wptexturize( '<p>© タイトル</p>' );
    
  2. wp_body_open('wp_body_open' アクションをスタート)

    wp_body_open( )

    'wp_body_open' アクションをスタートさせます。テーマテンプレートファイル内の <body> タグ直後で使用します。

    • 引数は、ありません。
    • 返却値は、ありません。

    使用例は、以下の通りです。

    
    wp_body_open();							// アクションのスターと例
    
    
    function body_hook() {
    	echo '<!--wp_body_open action hook-->';
    }
    add_action('wp_body_open','body_hook');	// アクションのフック例
    
  3. wp_enqueue_script(スクリプト定義を追加)

    wp_enqueue_script( $handle, $src, $deps, $ver, $args )

    生成するページにスタイルシート定義を追加します。

    • 引数 1($handle)は、スクリプトのハンドルとして使われる名前を指定します。
    • 引数 2($src)は、スクリプトの URL を指定します。初期値は、空文字列です。
    • 引数 3($deps)は、追加するスクリプトが依存する他のスクリプトのハンドル配列を指定します。依存関係がない場合は、初期値は、空の配列です。
    • 引数 4($ver)は、追加するスクリプトのバージョン番号を指定する文字列を指定します。初期値は false です。
    • 引数 5($args)は、追加するスクリプトを展開する方法を配列を使って以下の値を指定します。初期値は、'空の配列です。
      strategy
      'defer' を指定すると遅延読込みになり 'async'(初期値)を指定すると非同期読込みになります。
      in_footer
      true を指定するとフッターに展開し false(初期値)を指定するとヘッダーへの展開になります。
      fetchpriority
      読込み優先度を指定し 'auto'(初期値)を指定すると自動になります。
    • 返却値は、ありません。

    共通テンプレート(header.php、footer.php)で直接読込みを行うことも可能ですが重複読込みを避けるという意味でも、本関数を使用しての読込みが推奨されています。

    使用例は、以下の通りです。

    
    wp_enqueue_script(
    	'my-theme-scrpt', 
    	get_template_directory_uri() . '/js/my-theme-script.js', 
    	array(), 
    	'1.0.0', 
    	array( 
    		'strategy' => 'defer', 
    		'in_footer' => true 
    	)
    );
    
  4. wp_enqueue_style(スタイルシート定義を追加)

    wp_enqueue_style( $handle, $src, $deps, $ver, $media )

    生成するページにスタイルシート定義を追加します。

    • 引数 1($handle)は、スタイルシートのハンドルとして使われる名前を指定します。
    • 引数 2($src)は、スタイルシートの URL を指定します。省略可能で初期値は、空文字列です。
    • 引数 3($deps)は、追加するスタイルシートが依存する他のスタイルシートのハンドル配列を指定します。依存関係がない場合は、初期値は、空の配列です。
    • 引数 4($ver)は、追加するスタイルシートのバージョン番号を指定する文字列を指定します。初期値は、false です。
    • 引数 5($media)は、追加するスタイルシートが定義されているメディアを指定する文字列を指定します。初期値は 'all' です。
    • 返却値は、ありません。

    使用例は、以下の通りです。

    
    wp_enqueue_style( 'my-theme-style', get_template_directory_uri() . '/css/style.css' );
    
  5. wp_footer('wp_footer' アクションをスタート)

    wp_footer( )

    'wp_footer' アクションをスタートさせます。テーマテンプレートファイル内の </body> タグ直前で使用します。

    • 引数は、ありません。
    • 返却値は、ありません。

    使用例は、以下の通りです。

    
    wp_footer();							// アクションのスタート例
    
    
    function footer_hook(){
    	echo '<!--wp_footer action hook-->';
    }
    add_action('wp_footer','footer_hook');	// アクションのフック例
    
  6. wp_get_attachment_image_url(画像ファイルの URL を取得)

    $url = wp_get_attachment_image_url( $attachment_id, $size, $icon )

    画像ファイルの URL を取得します。

    • 引数 1($attachment_id)は、画像ファイル ID を指定します。
    • 引数 2($size)は、画像サイズを登録済みの画像サイズ名('thumbnail'、'post-thumbnail'、'small'、'medium'、'large' など)または、配列(幅と高さのピクセル値)で指定します。初期値は 'thumbnail' です。
    • 引数 3($icon)は、画像をアイコンとして扱うか否かを指定します。true は、アイコンとして扱うことを示し、false が扱わないことを示します。初期値は false です。
    • 返却値($url)は、画像ファイルの URL を返却します。画像ファイルが見つからない場合は false が返却されます。$size と登録されている画像サイズが一致しない場合は、元画像の URL が返却されます。

    使用例は、以下の通りです。

    
    $url = wp_get_attachment_image_url($image_id, 'medium');		// 画像サイズ名指定
    $url = wp_get_attachment_image_url($image_id, array(100, 50));	// 画像サイズ配列指定
    
    
    function body_hook() {
    	echo '<!--wp_body_open action hook-->';
    }
    add_action('wp_body_open','body_hook');	// アクションのフック例
    
  7. wp_head('wp_head' アクションをスタート)

    wp_head( )

    'wp_head' アクションをスタートさせます。テーマテンプレートファイル内の </head> タグ直前で使用します。

    • 引数は、ありません。
    • 返却値は、ありません。

    使用例は、以下の通りです。

    
    wp_head();								// アクションのスタート例
    
    
    function head_hook(){
    	echo '<!--wp_head action hook-->';
    }
    add_action('wp_head','head_hook');	// アクションのフック例
    
  8. wp_kses_post(コンテンツをサニタイズ(無害化))

    $content = wp_kses_post( $data )

    コンテンツをサニタイズ(無害化)します。

    • 引数 1($data)は、フィルターする投稿コンテンツを指定します。
    • 返却値($content)は、フィルターされたコンテンツが返却されます。

    使用例は、以下の通りです。

    
    $content = wp_kses_post( '<h1>タイトル</h1>' );
    
  9. wp_link_pages(ページ分割された投稿のページリンクを表示)

    $text = wp_link_pages( $args )

    ページ分割された投稿のページリンクを表示します。必ずループの中で使用してください。

    • 引数 1($args)は、ページリンク表示時のパラメータを連想配列で指定します。パラメータの指定値は、以下の通りです。
      before
      リンクの前のテキストを指定します。省略時は、'<p>Pages:' です。
      after
      リンクの後のテキストを指定します。省略時は、'</p>' です。
      link_before
      リンクテキストの前のテキストを指定します。省略時は、空文字列です。
      link_after
      リンクテキストの後のテキストを指定します。省略時は、空文字列です。
      next_or_number
      ページ番号を使用するかどうかを指定します。'number' を指定するとページ番号を表示し、'next' を指定すると前のページ/次のページで表示します。省略時は、'number' です。
      separator
      ページ番号の間のテキストを指定します。省略時は、スペース 1 文字です。
      nextpagelink
      次のページへのリンクのテキストを指定します。省略時は、'Next page' です。
      previouspagelink
      前のページへのリンクのテキストを指定します。省略時は、'Previous page' です。
      pagelink
      ページ番号のフォーマットを指定します。フォーマット内の '%' がページ番号に置き換えられます。省略時は、'%' です。
      echo
      trueを指定すると HTML を表示し false を指定すると HTML を返却値で返却します。省略時は true です。
    • 返却値($text)は、$echo に false が指定されていると HTML フォーマットされた値が返却され true が指定されていると null を返却します。

    使用例は、以下の通りです。

    
    wp_link_pages( array(								// 改ページ(複数ページ)処理
    	'before'           => '<div class="blog-pages-pagination">',
    	'after'            => '</div>' . PHP_EOL,		// before/afterは、前後に付加する文字
    	'link_before'      => '',						// リンクテキストの前に負荷する文字
    	'link_after'       => '',						// リンクテキストの後ろに負荷する文字
    	'next_or_number'   => 'number',					// 'number':ページ番号、'next':前/次ページ
    	'separator'        => ' ',						// ページ番号間の文字
    	'nextpagelink'     => __( 'Next page' ),		// 次のページのリンクテキスト
    	'previouspagelink' => __( 'Previous page' ),	// 前のページのリンクテキスト
    	'pagelink'         => 'ページ %',				// ページ番号のフォーマット(%はページ番号)
    	'echo'             => true,						// true:表示、false:返却
    ) );
    

    ページ分割された投稿のページリンクで作成される HTML の例は、以下の通りです。

    
    <div class="blog-pages-pagination">
    	<span class="post-page-numbers current" aria-current="page">ページ 1</span>
    	<a href="http://test.local/test-page-1/2/" class="post-page-numbers">ページ 2</a>
    	<a href="http://test.local/test-page-1/3/" class="post-page-numbers">ページ 3</a>
    </div>
    
  10. wp_list_pages(ページリストの取得・表示)

    $list = wp_list_pages( $args )

    ページリスト(または階層構造の投稿タイプのアイテム)を li タグ形式で取得・表示します。

    • 引数 1($args)は、リスト取得・表示時のパラメータを連想配列で指定します。パラメータの指定値は、以下の通りです。その他の指定値については get_pages 関数を参照してください。
      child_of
      取得する単一サブページのページ ID 指定します。省略時は、0(すべてのページ)です。
      authors
      取得する著者の著者 ID 指定します。省略時は、空(すべての著者)です。
      date_format
      取得する日付の日付形式を指定します。省略時は、日付フォーマットの設定値です。
      depth
      取得するリストに含める階層のレベル数を指定します。-1(任意の深さ)、0(すべてのページ/初期値)、1(最上位レベルのページのみ)、n(指定された深さまでのページ)で指定します。
      echo
      trueを指定すると HTML を表示し false を指定すると HTML を返却します。省略時は true です。
      exclude
      除外するページ ID をカンマで区切って指定します。省略時は、空欄です。
      include
      含めるページ ID をカンマで区切って指定します。省略時は、空欄です。
      link_after
      ページリンクラベルに続くテキストまたは HTML を指定します。省略時は、null です。
      link_before
      ページリンクラベルの前に表示するテキストまたは HTML を指定します。省略時は、null です。
      post_status
      含める投稿ステータスをカンマ区切りか配列で指定します。省略時は 'publish' です。
      post_type
      クエリ対象の投稿タイプを指定します。省略時は 'page' です。
      show_date
      各ページ公開日か更新日を表示するか否かを指定します。'modified' を指定すると更新日が表示され、それ以外の文字列を指定すると公開日が表示され、空文字は日付が非表示になります。省略時は、非表示です。
      sort_column
      ページをソートする列名をカンマ区切りで指定します。'post_author'、'post_date'、'post_title'、'post_name'、'post_modified'、'post_modified_gmt'、'menu_order'、'post_parent'、'ID'、'rand'、'comment_count' が使用可能です。省略時は 'post_title' です。
      title_li
      リストの見出しを指定します。null または、空文字を指定すると見出しは、表示されずに ul タグで囲まれません。省略時は 'Pages' です。
      item_spacing
      メニューの HTML 内の空白を保持するか否かを指定します。'preserve'、'discard' が指定可能です。省略時は 'preserve' です。
      walker
      ページ一覧表示に使用する Walker インスタンスを指定します。省略時は、空で Walker_Page インスタンスが使用されます。
    • 返却値($list)は、$echo に false が指定されていると HTML フォーマットされた値が返却され true が指定されていると void を返却します。

    使用例は、以下の通りです。

    
    wp_list_pages( array( 'title_li' => 'カスタムタイトル' ) );
    
  11. wp_nav_menu(ナビゲーションメニューを表示)

    wp_nav_menu( $args )

    ナビゲーションメニューを表示します。

    • 引数 1($args)は、パラメータを連想配列で指定します。代表的なオプションパラメータは、以下の通りです。
    theme_location
    表示位置名を指定します。
    menu_class
    メニュークラス名を指定します。
    items_wrap
    フォーマット文字(%1$s:menu_id 値、%2$s:menu_class、%3$s:リスト項目)を指定します。
    container
    ul のラップ有無('div'、'nav'、false:ラップなし)を指定します。
    container_class
    コンテナー(ラップ)クラス名を指定します。
    depth
    表示階層数を指定します。
    link_before
    リンク前テキストを指定します。
    link_after
    リンク後テキストを指定します。
    fallback_cb
    メニューが存在しない場合のコールバック関数を指定します。

    返却値は、ありません。

    使用例は、以下の通りです。

    
    wp_nav_menu( array(
    	'theme_location'  => 'primary',					// メニューの位置(初期値:なし)
    	'menu_class'      => 'menu-wrapper',			// ul要素のクラス名(初期値:menu)
    	'container'       => false,						// ul要素のラップ要素(初期値:div)
    	'items_wrap'      => '<ul>%3$s</ul>',			// 編集型式(%1$s:menu_id、%2$s:menu_class、%3$s:リスト項目)
    	'fallback_cb'     => false,						// メニューが存在しない場合のコールバック関数(初期値:wp_page_menu)
    ) );
    

    ナビゲーションメニューで作成される HTML の例は、以下の通りです。

    
    <ul>
    	<li id="menu-item-1" class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item current_page_item menu-item-home menu-item-1"><a href="http://test.local/" aria-current="page">ホーム</a></li>
    	<li id="menu-item-2" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-2"><a href="http://test.local/test-1/">固定ページ1</a></li>
    	<li id="menu-item-3" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-3"><a href="http://test.local/test-2/">固定ページ2</a></li>
    </ul>
    
  12. WP_Query(投稿のクエリ(検索・取得)クラス)

    $query = new WP_Query( $args )

    投稿を検索して結果を取得します。

    • 引数 1($args)は、検索条件を指定します。
    • 返却値($query)は、検索結果オブジェクトを返却します。

    本クラスを使用した検索条件の設定方法検索した結果の処理方法については「L2.3.6 ページコンテンツの表示方法」を参照してください。

  13. wp_reset_postdata(メインクエリーループのコンテキストに復元)

    wp_reset_postdata( )

    クエリーループで処理するコンテキスト($post グローバル変数)をメインクエリーループの値に復元させます。クエリーループは、メインクエリーループ(URL リクエストに基づいて発生)とセカンダリークエリーループ(テーマやプラグインが WP_Query クラスを使って発生)があり、セカンダリークエリーループの処理が終了してメインクエリーループの処理に復帰する時などで使用されます。。

    • 引数は、ありません。
    • 返却値は、ありません。

    使用例は、以下の通りです。

    
    wp_reset_postdata();
    

ロケット本体
PAGE
TOP
ロケット炎