銀河鉄道

【WordPress】カテゴリごとにキャッチ画像を設定する

サムネイル
キャッチ画像自動設定
画像を
記事ごとに
変えるのは面倒

functionにしてみる

functions.php

include(get_template_directory() . '/(ディレクトリ名)/set_the_post_thumbnail.php');

set_the_post_thumbnail.php を作る

function set_the_post_thumbnail($size, $type) {
  global $post;
  $default_img = '<img src="' . xxx . '/img/thumbnail/default.png" alt="xxx"></figure>';
  $class_main = "'(クラス名)'";
  $class_sub = "'(クラス名)'";

  switch (get_post_type()) {
    case 'post': // 投稿ページの場合

      // 開始タグ
      switch ($type) {
        case 'main': // メインループの場合
          echo '<figure class=' . $class_main . '>';
          break;

        case 'sub': // サブループの場合
          echo '<a class=' . $class_sub . ' href="' . esc_url(get_permalink()) . '">';
          break;
      }

      // サムネイル追加
      if (has_post_thumbnail()) {
        the_post_thumbnail($size);
      } else {
        $class = "wp-post-image";
        if (has_category('(カテゴリ名)')) {
          $png = "(画像名)";
        } elseif (has_category('(カテゴリ名)')) {
          $png = "(画像名)";
        } else {
          $class = "";
          $png = "default";
        }
        echo '<img class=' . $class . ' ' . 'src="' . xxx . '/img/thumbnail/' . $png . '.png">';
      };

      // 終了タグ
      switch ($type) {
        case 'main': // メインループの場合
          echo '</figure>';
          break;
        case 'sub': // サブループの場合
          echo '<p class="post-title">';
          the_title();
          echo '</p></a>';
          break;
      }
      break;
  }
}

著者

author
月うさぎ

編集後記:
この記事の内容がベストではないかもしれません。

記事一覧