WordPress でテーマ制作する際にいつも調べるのが面倒なので、主に使用する関数をまとめました。
Table of Contents
タグ関連
get_the_tags
アーカイブページ・投稿ページで投稿につけられたタグ情報を配列として取得します。主にループ内で使用します。
(array|false|WP_Error) get_the_tags( int $id = 0 )
パラメーター
引数
型
デフォルト
説明
$id
int
現在の投稿 ID
投稿 ID
使用例
<?php if (get_the_tags()) { ?>
<div class="tags">
<i class="fas fa-tag"></i>
<?php the_tags('', ',', ''); ?>
</div>
<?php
}
the_tags
アーカイブページ・投稿ページで投稿につけられたタグが出力されます。主にループ内で使用します。
void the_tags( string $before = null, string $sep = ', ', string $after = '' )
パラメーター
引数
型
デフォルト
説明
$before
string
null
リストの最初に入れるHTML/文字
$sep
string
各タグの間に入れるHTML/文字
$after
string
リストの最後に入れるHTML/文字
使用例
<?php if (get_the_tags()) { ?>
<div class="tags">
<i class="fas fa-tag"></i>
<?php the_tags('', ',', ''); ?>
</div>
<?php
}
出力例
上記の使用例の場合には以下のようなHTMLが出力されます。
<div class="tags">
<i class="fas fa-tag"></i>
<a href="..." rel="tag">タグ名1</a>,<a href="..." rel="tag">タグ名2</a>
</div>
the_tags('<ul><li>', '</li><li>', '</li></ul>');
のようにするとリスト要素で囲むことができます:
<ul>
<li><a href="..." rel="tag">タグ名1</a></li>
<li><a href="..." rel="tag">タグ名2</a></li>
</ul>
カテゴリー関連
get_the_category
アーカイブページ・投稿ページで投稿につけられたカテゴリー情報を配列として取得します。主にループ内で使用します。関数内では
get_the_terms( $id, 'category' )
が実行されているため、この関数で取得できるのはデフォルトのカテゴリーのみです。カスタムタクソノミーについては
get_the_terms
関数を使用します。
(array|false|WP_Error) get_the_category( int $id = 0 )
パラメーター
引数
型
デフォルト
説明
$id
int
現在の投稿 ID
投稿 ID
使用例
<?php if (get_the_category()) { ?>
<div class="tags">
<i class="fas fa-tag"></i>
<?php the_tags('', ',', ''); ?>
</div>
<?php
}
wp_list_categories
登録されているカテゴリーのリストを取得します。アーカイブページ・投稿ページで使用することで、カテゴリーページへのリンクを表示することができます。
(false|string) wp_list_categories( string|array $args = '' )
パラメーター
$args
の一覧は
Codex を参照してください。主に使用するのは以下のキーです。
パラメータ
型
デフォルト
説明
title_li
string
__( 'Categories' )
箇条書きの外側に表示するタイトルと表示形式
hide_empty
(bool|int)
1
投稿のないカテゴリーを非表示にするかどうか
使用例
wp_list_categories( array(
'title_li' => '',
'hide_empty' => false
) );
日付関連
get_the_time
アーカイブページ・投稿ページで投稿が作成された時間が出力されます。主にループ内で使用します。
(string|int|false) get_the_time( string $d = '', int|WP_Post $post = null )
パラメーター
引数
型
デフォルト
説明
$d
string
‘G’, ‘U’ もしくは PHP のデータフォーマット
$post
(int|WP_Post)
null
投稿ID、もしくは WP_Post オブジェクト。デフォルトではグローバル変数の $post
になります。
the_time
アーカイブページ・投稿ページで投稿が作成された時間が出力されます。必ずループ内で使用します。
void the_time( string $d = '' )
パラメーター
引数
型
デフォルト
説明
$d
string
‘G’, ‘U’ もしくは PHP のデータフォーマット
使用例
<time datetime="<?= the_time( 'c' ) ?>"><?= the_time( 'Y.n.j' ); ?></time>
wp_get_archives
アーカイブへのリンクを出力します。
(string|void) wp_get_archives( string|array $args = '' )
パラメーター
$args
の一覧は
Codex を参照してください。主に使用するのは以下のキーです。
パラメータ
型
デフォルト
説明
show_post_count
bool
false
投稿数を表示するかどうか
before
(string)
アーカイブページへのリンクの前に挿入するHTML
after
(string)
アーカイブページへのリンクの後ろに挿入するHTML
post_type
(string)
post
投稿タイプ
使用例
wp_list_categories( array(
'title_li' => '',
'hide_empty' => false
) );
アイキャッチ画像(サムネイル画像)関連
get_post_thumbnail_id
アーカイブページ・投稿ページで投稿のアイキャッチ画像の ID を取得します。主にループ内で使用します。取得した ID を
wp_get_attachment_image_src
関数に渡すことでアイキャッチ画像の情報を取得することができます。
(string|int) get_post_thumbnail_id( int|WP_Post $post = null )
パラメーター
引数
型
デフォルト
説明
$post
(int|WP_Post)
null
投稿ID、もしくは WP_Post オブジェクト。デフォルトではグローバル変数の $post
になります。
wp_get_attachment_image_src
添付画像のURL、幅、高さ、リサイズされた画像かどうかの情報を取得します。
(false|array) wp_get_attachment_image_src( int $attachment_id, string|array $size = 'thumbnail', bool $icon = false )
パラメーター
引数
型
デフォルト
説明
$attachment_id
int
添付画像の ID
$size
(string|array)
‘thumbnail’
画像のサイズ。’thumbnail’、’post-thumbnail’、’small’、’medium’、’large’などの文字列や、幅と高さのピクセル値を要素とする配列
$icon
bool
画像をアイコンとして扱うかどうか
戻り値
画像が見つかれば、URL、幅、高さ、リサイズされているかどうかの真偽値を要素とする配列が返ります。画像が見つからなければ
false
が返ってきます。
使用例
<?php $thumbnail = wp_get_attachment_image_src( get_post_thumbnail_id(), 'full' ); ?>
<amp-img src="<?= $thumbnail[0] ?>" width="<?= $thumbnail[1] ?>" height="<?= $thumbnail[2] ?>" layout="responsive"></amp-img>
ナビゲーション関連
the_posts_navigation
アーカイブページで「前の投稿」「次の投稿」のようなナビゲーションが出力されます。4.1.0 から導入されました。ページネーションが必要な場合は the_posts_pagination を利用してください。
void the_posts_navigation( array $args = array() )
パラメーター
$args
は以下のようなキーを含む連想配列になります。
パラメータ
型
デフォルト
説明
prev_text
string
__( 'Older posts' )
前のページへのリンクテキスト
next_text
string
__( 'Newer posts' )
次のページへのリンクテキスト
screen_reader_text
string
__( 'Posts navigation' )
nav要素のためのスクリーンリーダテキスト
使用例
<?php
the_posts_navigation( array(
'prev_text' => '<',
'next_text' => '>'
) );
出力例
<nav class="navigation posts-navigation" role="navigation">
<h2 class="screen-reader-text">投稿ナビゲーション</h2>
<div class="nav-links">
<div class="nav-previous">
<a href="...">過去の投稿</a>
</div>
<div class="nav-next">
<a href="...">新しい投稿</a>
</div>
</div>
</nav>
the_posts_pagination
アーカイブページで「1」「2」「3」のようなページネーションが出力されます。4.1.0 から導入されました。
void the_posts_pagination( array $args = array() )
パラメーター
$args
は
paginate_links
の引数と同じ連想配列です。主に使用するものは以下です。
パラメータ
型
デフォルト
説明
show_all
bool
false
すべてのページを表示するかどうか
prev_next
bool
true
前のページ・次のページへのリンクも表示するかどうか
prev_text
string
__( '« Previous' )
前のページへのリンクテキスト
next_text
string
__( 'Next »' )
次のページへのリンクテキスト
screen_reader_text
string
__( 'Posts navigation' )
nav要素のためのスクリーンリーダテキスト
使用例
<?php
the_posts_pagination( array(
'prev_text' => '<',
'next_text' => '>'
) );
出力例
<nav class="navigation pagination" role="navigation">
<h2 class="screen-reader-text">投稿ナビゲーション</h2>
<div class="nav-links">
<a class="prev page-numbers" href="...">前へ</a>
<a class="page-numbers" href="...">1</a>
<span aria-current="page" class="page-numbers current">2</span>
<a class="page-numbers" href="...">3</a>
<a class="next page-numbers" href="...">次へ</a>
</div>
</nav>
the_post_navigation
投稿ページで「前の投稿」「次の投稿」のようなナビゲーションが出力されます。4.1.0 から導入されました。
void the_post_navigation( array $args = array() )
パラメーター
$args
は以下のようなキーを含む連想配列になります。
パラメータ
型
デフォルト
説明
prev_text
string
'%title'
前のページへのリンクテキスト
next_text
string
'%title'
次のページへのリンクテキスト
screen_reader_text
string
__( 'Post navigation' )
nav要素のためのスクリーンリーダテキスト
使用例
<?php
the_post_navigation( array(
'prev_text' => '<',
'next_text' => '>'
) );
出力例
<nav class="navigation post-navigation" role="navigation">
<h2 class="screen-reader-text">投稿ナビゲーション</h2>
<div class="nav-links">
<div class="nav-previous">
<a href="..." rel="prev">[前の投稿のタイトル]</a>
</div>
<div class="nav-next">
<a href="..." rel="next">[次の投稿のタイトル]</a>
</div>
</div>
</nav>
ファイル関連
get_theme_file_uri
テーマ内にあるファイルのURIを取得します。4.7.0から導入されました。以前は
get_stylesheet_directory_uri
関数でテーマディレクトリへの URI を取得し、相対ファイルパスを文字列として連結することでファイルへの URI を取得していましたが、この関数にテーマディレクトリからの相対ファイルパスを与えることでファイルのURIが取得できるようになりました。
(string) get_theme_file_uri( string $file = '' )
パラメーター
引数
型
デフォルト
説明
$file
string
スタイルシートが置かれているディレクトリ内で探すファイル名
get_theme_file_path
テーマ内にあるファイルのパス名を取得します。4.7.0から導入されました。以前は
get_stylesheet_directory
関数でテーマディレクトリへのパス名を取得し、相対ファイルパスを文字列として連結することでファイルへのパス名を取得していましたが、この関数にテーマディレクトリからの相対ファイルパスを与えることでファイルのパス名が取得できるようになりました。
(string) get_theme_file_path( string $file = '' )
パラメーター
引数
型
デフォルト
説明
$file
string
スタイルシートが置かれているディレクトリ内で探すファイル名
JavaScript 関連
wp_enqueue_script
テーマ制作をする際についつい
header.php
や
footer.php
で JavaScript を直接読み込みたくなりますが、functions.php から
wp_enqueue_script
を呼び出してキューに入れるのが WordPress らしい JavaScript の読み込みです。
wp_enqueue_scripts
アクションにフックさせて呼び出します。後述する
wp_add_inline_script
と合わせると、jQuery のプラグインや Object-fit-images のようなポリフィルの読み込み + 起動をまとめて行うことができます。
void wp_enqueue_script( string $handle, string $src = '', array $deps = array(), string|bool|null $ver = false, bool $in_footer = false )
パラメーター
引数
型
デフォルト
説明
$handle
string
スクリプトの名前。固有のもの(同じ名前のものが他にない)でなければなりません
$src
string
”
スクリプトの完全な URL、もしくは WordPress のルートディレクトリからの相対パス
$deps
array
array()
依存関係にあるスクリプトの名前
$ver
string|bool|null
false
スクリプトのバージョン
$in_footer
bool
false
スクリプトの読み込み位置。true なら body要素の閉じタグの直前、false なら head 要素内
使用例
<?php
add_action( 'wp_enqueue_scripts', function() {
wp_enqueue_script( 'vuejs', 'https://cdn.jsdelivr.net/npm/vue@2.6.10/dist/vue.min.js', array(), '2.6.10', false );
} );
wp_add_inline_script
wp_enqueue_script でエンキューされているスクリプトの名前を指定することで、インラインの JavaScript を埋め込むことができます。
wp_enqueue_scripts
アクションにフックさせて呼び出します。よくある使用例としては、jQuery のプラグインを wp_enqueue_script で読み込ませ、プラグインの起動コードをインラインで埋め込むような場合です。
(bool) wp_add_inline_script( string $handle, string $data, string $position = 'after' )
パラメーター
引数
型
デフォルト
説明
$handle
string
インラインスクリプトを追加するスクリプトの名前。エンキューされているスクリプト名でなければならない
$data
string
”
インラインで追加するスクリプト
$position
string
‘after’
スクリプトの後に追加するか前に追加するか
使用例
<?php
add_action( 'wp_enqueue_scripts', function() {
wp_enqueue_script( 'object-fit-images', 'https://cdnjs.cloudflare.com/ajax/libs/object-fit-images/3.2.4/ofi.min.js', array(), '3.2.4', false );
wp_add_inline_script( 'object-fit-images', 'jQuery(function () { objectFitImages() });' );
} );