クロピグログ

職業訓練で学んだことまとめ

【WordPress授業七日目】オリジナルテーマ4

オリジナルテーマ作成

昨日の内容

条件分岐・各テンプレート別の対応

013:ページごとのタイトルタグを出力 | JOBTECH.JP

014:投稿詳細用テンプレート追加 | JOBTECH.JP

 

ページネーション

015:一覧表示テンプレートにページネーションを追加 | JOBTECH.JP

 

投稿詳細専用テンプレート追加

016:投稿詳細用テンプレート追加 | JOBTECH.JP

 

-----------------------------------昨日はここまで-------------------------------------------

今日からの内容

017:投稿詳細に前後記事リンクを表示 | JOBTECH.JP

018:カテゴリーを表示 | JOBTECH.JP


アーカイブ専用テンプレート追加

019:アーカイブ一覧表示用テンプレート追加 | JOBTECH.JP


固定ページ専用テンプレート追加

020:固定ページ表示用テンプレート追加 | JOBTECH.JP

021:固定ページ表示用カスタムテンプレート追加 | JOBTECH.JP

 

 

●前後記事リンクを表示

デザインを考慮してブロックで囲んでいる

<div class="Single__footer">
  <div class="Single__next">
    <?php
 
    if (get_previous_post()) {
第1引数:同じカテゴリに限定するか
初期値:false(限定しない)
true(限定する)
next_post_linkの第3引数と同じ設定にする
第2引数:除外する投稿ID
next_post_linkの第4引数と同じ設定にする
第3引数:タクソノミーの選択
初期値:'category'
next_post_linkの第5引数と同じ設定にする
 
      previous_post_link();
初期出力:次の投稿タイトルリンク >> 
◇ループ内で呼び出す関数
第1引数:リンク文字列の書式 例) '&larr; %link'
%link部分がリンク文字列になる
%linkは必ず記述
第2引数:リンク文字列
初期値:%title(前の投稿タイトル)
第3引数:同じタクソノミーへの限定
初期値:false(限定しない)
第4引数:除外する投稿を指定
文字列指定:投稿IDをカンマ区切り
例)'1,3.5'
配列指定:[1,3,5]
第5引数:タクソノミーの選択
第3引数true時のみ指定可能
初期値:'category'
例)'tag'
    } else {
      echo '前の記事なし';
    }
    ?>
  </div>
  <div class="Single__prev">
    <?php
    if (get_next_post()) {
      next_post_link();
    } else {
      echo '次の記事なし';
    }
    ?>
  </div>
</div>

 

■ セキュリティ対策(XSS対策)

内容:HTMLタグを無効化して対応

echoしているところでは基本必ず使う

※問題発生時は外すことを検討

  1. esc_html関数
  2. esc_attr関数
    内部でhtmlspecialchars関数を呼び出している
    HTMLタグやクォートを実態参照に変換
    1.HTMLタグ内での出力
    2.HTML属性内での出力

  3. esc_url関数
    URLに適切でない文字を除去
    「&」「'」をエンコードする
    3.リンクのhref属性内のURL出力
      外部ファイル取得時のURL出力

  4. wp_kses_post関数
    悪用される恐れのあるタグや属性のみ除去する
    例)scriptタグ,onclick等のJS用属性
    4.タグ込みの文字列を出力

 「echo」があるときは無心にこの4つのどれかかける