【WordPress備忘録】個別投稿用テンプレートの作成に必要な関数メモ!

WordPress ローカル環境構築・ヘッダーフッター作成・テンプレートタグと関数メモ開発
スポンサーリンク

今回は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 ]  // 現在の投稿は取得しない
           ]);
           ?>

コメント

タイトルとURLをコピーしました