【WordPress】投稿、固定ページのデータを取得する関数まとめ|echoなどで出力
WordPressで個人的によく使用する、投稿、固定ページの情報を取得するテンプレートタグをまとめました。
WordPressの関数の中には、投稿、固定ページの情報を取得し出力する関数もありますが、今回は取得するだけのテンプレートタグをまとめました。取得した情報を出力する際は、echoなどを使用して出力します。
投稿、固定ページの情報を取得するテンプレートタグ
投稿IDの取得|get_the_ID()
get_the_ID()は、現在の投稿のIDを取得します。このタグは、ループ内でのみ使用可能。パラメータはありません。
get_the_ID();
タイトルの取得|get_the_title()
get_the_title()は、投稿または固定ページのタイトルを取得します。
パラメータ
get_the_title( $id );
- $id(省略可)
- 投稿または固定ページの IDを指定することで、指定したタイトルの取得が可能。省略した場合は現在の投稿。
本文の取得|get_the_content()
get_the_content()は、投稿または固定ページの本文を取得します。本文内の動画の自動埋め込みや、ショートコードなどは表示されません。このタグは、ループ内でのみ使用可能。
パラメータ
get_the_content( $more_link_text, $stripteaser );
- $more_link_text(省略可)
- 本文内の<!--more--> 以降を表示するためのリンクテキスト。初期値は、'さらに…'のリンクテキスト。
- $stripteaser(省略可)
- <!--more--> 以降の本文の表示・非表示を設定。初期値は false(本文すべてを表示)。trueは<!--more--> 以前のみを表示。
パーマリンクの取得|get_permalink()
get_permalink()は、投稿または固定ページの パーマリンクを取得します。
パラメータ
get_permalink( $id, $leavename );
- $id(省略可)
- 投稿または固定ページの IDを指定することで、指定したパーマリンクの取得が可能。省略した場合は現在の投稿。
- $leavename(省略可)
- trueの場合は投稿名あるいは固定ページ名( %postname%)を保持。省略した場合はfalse
アイキャッチ画像の取得|get_the_post_thumbnail()
get_the_post_thumbnail()は、投稿または固定ページのアイキャッチ画像を img要素で取得します。
パラメータ
get_the_post_thumbnail( $post_id, $size, $attr );
- $post_id(省略可)
- 出力したいアイキャッチ画像の投稿のID。省略した場合は現在の投稿
- $size(省略可)
- デフォルトで設定されている画像サイズの名前(thumbnail, medium, large, full)を指定するか、add_image_size関数で追加した画像サイズの名前を指定。その他、幅と高さを配列で指定もできます。省略した場合はpost-thumbnail( functions.php内で 関数set_post_thumbnail_size()を使って設定したサイズ。)
add_image_size関数で画像を追加する方法は、以下のリンク先を参考にしてみてください。
- $attr(省略可)
- img 要素の属性を配列で指定。省略した場合は下記のデフォルトの値となります。
$attr = array(
'src' => $src,
// $srcはアイキャッチ画像のURL
'class' => "attachment-$size" "size-$size" "wp-post-image" ,
// $sizeは画像サイズの名前
'alt' => trim( strip_tags( get_post_meta( $attachment_id, '_wp_attachment_image_alt', true ))),
// 設定したアイキャッチ画像の代替テキスト
);
公開日時の取得|get_post_time()
get_post_time()は、投稿または固定ページの公開日時を取得します。
get_post_time( $d, $gmt, $post, $translate );
パラメータ
- $d(省略可)
- 時刻の書式。省略した場合は 'U' (UNIX タイムスタンプ)。時刻の書式例:Y年m月d日
- $gmt(省略可)
- trueを指定すると GMT で日時を取得。falseを指定した場合はローカル時間帯で取得。省略した場合はfalse
- $post (省略可)
- 出力したい公開日時の投稿のID。省略した場合は現在の投稿。
- $translate(省略可)
- trueを指定すると日時の文字列を翻訳。初期値はfalse(翻訳しない)。
最終更新日の取得|get_post_modified_time()
get_post_modified_time()は、現在の投稿または、現在の固定ページの最終更新日を取得します。
get_post_modified_time( $d, $gmt, $post, $translate );
パラメータ
- $d(省略可)
- 時刻の書式。省略した場合は 'U' (UNIX タイムスタンプ)。時刻の書式例:Y年m月d日
- $gmt(省略可)
- trueを指定すると GMT で日時を取得。falseを指定した場合はローカル時間帯で取得。省略した場合はfalse
- $post (省略可)
- 出力したい公開日時の投稿のID。省略した場合は現在の投稿。
- $translate(省略可)
- trueを指定すると日時の文字列を翻訳。初期値はfalse(翻訳しない)。
また、、公開日時・最終更新日を使用した例は以下のリンク先を参考にしてみてください。