今回はWordPressの個別投稿用テンプレート(single.php)作成で必要となる「関数」「テンプレートタグ」の紹介を行います!
まだまだたくさんあるかとは思いますが、
自分が使用している参考書をベースとしております!
ここまでのファイル構造
./docker-compose.yml ./localdata/ - wp-content/ - index.php - plugins/ (プラグインディレクトリ) - themes/ (テーマディレクトリ) - hogehoge/ (自作テーマディレクトリ) - index.php (TOPページファイル) - single.php (個別投稿用テンプレートファイル) NEW! - header.php (ヘッダーファイル) - footer.php (フッターファイル) - functions.php (テーマ内の関数やアクションフックなど記載) - style.css (テーマ名やバージョンなどを記載) - css/ (CSSファイルを格納するディレクトリ) - img/ (画像ファイルを格納するディレクトリ) - js/ (JavaScriptファイルを格納するディレクトリ)
使用したテンプレートタグ・関数
テンプレートタグ
- the_ID():現在の投稿のIDを取得する
使用例: <?php the_ID(); ?>
- post_class():クラスを追加するためのテンプレタグ
使用例: <div <?php post_class('hogehoge'); ?>>
- the_title():現在の投稿のタイトルを表示するテンプレタグ、第3引数(TRUE/FALSE)で表示するかどうか指定可能
使用例: <?php the_title('<h1>','</h1>',); ?>
- the_title_attribute():現在の投稿のタイトルを表示する、the_title()との違いは、HTMLタグなどをエスケープしてくれる。
使用例: <?php the_title_attribute([ 'before'=>'タイトル:', 'after'=>'です!', 'echo'=>FALSE ]); ?>
- the_post_thumbnail():現在の投稿に登録されているアイキャッチを表示する、サイズやimgタグのclassを指定できる
使用例: <?php the_post_thumbnail( 'post-thumbnail', [ 'alt'=>the_title_attribute('FALSE'), 'class'=>'main-img' ] ); ?>
- wp_link_pages():記事を改ページ(<!–more–>)で区切られた時の次ページリンクを挿入する
使用例: <?php wp_link_pages([ 'before' => '<div>pages:', 'after' => '</div>', 'link_before' => '<span class="links">', 'link_after' => '</span>', 'pagelink' => '%ページ', 'separator' => '' ]); ?>
- the_author_posts_link():投稿者の全ての記事aタグリンクを生成
使用例: <p>この記事を書いた人:<?php the_author_posts_link(); ?></p>
- the_time():現在の投稿の投稿日を取得する、第一引数としてフォーマットの指定を行う
使用例: <p>投稿日:<?php the_time('Y-m-d'); ?></p>
- the_tags():現在の投稿の紐づけられたタグとリンクを表示する
使用例: <p>タグ:<?php the_tags('タグ一覧->', '、' ,'<-'); ?></p>
- get_the_category():投稿の紐づけられたカテゴリを取得する
使用例: <?php $category = get_the_category($post_id); foreach ($category as $this_category) { // カテゴリ名を表示 echo $this_category->cat_name; } ?>
- the_permalink():パーマリンク(記事URL)の表示
使用例: <?php the_permalink($post_id); ?>
- previous_post_link():現在の投稿の一つ前のリンクを表示
使用例: <?php previous_post_link('<span>%link</span>', '前の記事') ?>
- next_post_link():現在の投稿の次(新しい)の記事のリンクを表示
使用例: <?php next_post_link('<span>%link</span>', '次の記事') ?>
関数
- have_posts():投稿があるかどうか判別するための関数!(返り値:TRUE/FALSE)
使用例: <?php if ( have_posts() ) { hoge }; ?>
- the_post():現在の投稿を取得する関数、テンプレートタグを使用できるようにする
使用例: <?php the_post(); ?
- has_post_thumbnail():現在の投稿にアイキャッチが登録されているかチェックする関数
使用例: <?php has_post_thumbnail($post_id); ?>
- wp_reset_postdata():現在の投稿以外でnew WP_Queryを使用した際、メインクエリの現在の投稿の$postを復元するために使用
使用例: <?php wp_reset_postdata(); ?>
- wp_trim_words():テキストを指定した文字数に切り出しを行う
使用例: <?php wp_trim_words(get_the_title(), 30); // 30文字に切り出し ?>
- get_template_part():テンプレートファイルの読み込みを行う
使用例: <?php get_template_part('loop', 'single'); // loop-single.phpを読み込む ?>
クラス
- WP_Query():記事の一覧を取得するためのクラス、細かく条件などの指定が可能
使用例: <?php $post_list = new WP_Query([ 'post_per_page' => 4, // 4件の記事を取得 'cat' => 1234, // カテゴリIDを指定 'tag' => 'hogehoge' 'post__not_in' => [ $post_id ] // 現在の投稿は取得しない ]); ?>
コメント