アトリエロワ

wordpressのパンクズ(トピックパス)2024年functions.phpとテンプレートに記載

function.php

function custom_breadcrumbs() {
  $delimiter = ' > ';
  $home = 'トップ';

  if (!is_home() && !is_front_page() || is_paged()) {
      echo '<div id="topicpath" class="inside-m"><ul>';
      global $post;
      $homeLink = get_bloginfo('url');
      echo '<li><a href="' . $homeLink . '">' . $home . '</a></li>';

      if (is_category()) {
          $thisCat = get_category(get_query_var('cat'), false);
          if ($thisCat->parent != 0) echo '<li>' .get_category_parents($thisCat->parent, TRUE,""). '</li>';
          echo '<li>' .single_cat_title('', false). '</li>';
      } elseif (is_search()) {
          echo '<li>検索結果</li>';
      } elseif (is_day()) {
          echo '<li><a href="' . get_year_link(get_the_time('Y')) . '">' . get_the_time('Y') . '</a></li>';
          echo '<li><a href="' . get_month_link(get_the_time('Y'), get_the_time('m')) . '">' . get_the_time('F') . '</a></li>';
          echo get_the_time('d');
      } elseif (is_month()) {
          echo '<li><a href="' . get_year_link(get_the_time('Y')) . '">' . get_the_time('Y') . '</a></li>';
          echo get_the_time('F');
      } elseif (is_year()) {
          echo get_the_time('Y');
      } elseif (is_single() && !is_attachment()) {
          if (get_post_type() != 'post') {
              $post_type = get_post_type_object(get_post_type());
              $slug = $post_type->rewrite;
              echo '<li><a href="' . $homeLink . '/' . $slug['slug'] . '/">' . $post_type->labels->singular_name . '</a></li>';
              echo '<li>' .get_the_title() . '</li>' ;
          } else {
              $cat = get_the_category(); $cat = $cat[0];
              echo '<li>' .get_category_parents($cat, TRUE,""). '</li>';
              echo '<li>' .get_the_title() . '</li>' ;
          }
      } elseif (!is_single() && !is_page() && get_post_type() != 'post' && !is_404()) {
          $post_type = get_post_type_object(get_post_type());
          echo '<li>' .$post_type->labels->singular_name. '</li>' ;
      } elseif (is_attachment()) {
          $parent = get_post($post->post_parent);
          $cat = get_the_category($parent->ID); $cat = $cat[0];
          echo '<li>' .get_category_parents($cat, TRUE,""). '</li>' ;
          echo '<li><a href="' . get_permalink($parent) . '">' . $parent->post_title . '</a></li>';
          echo '<li>' .get_the_title() . '</li>' ;
      } elseif (is_page() && !$post->post_parent) {
          echo '<li>' .get_the_title() . '</li>' ;
      } elseif (is_page() && $post->post_parent) {
          $parent_id = $post->post_parent;
          $breadcrumbs = array();
          while ($parent_id) {
              $page = get_page($parent_id);
              $breadcrumbs[] = '<li><a href="' . get_permalink($page->ID) . '">' . get_the_title($page->ID) . '</a></li>';
              $parent_id = $page->post_parent;
          }
          $breadcrumbs = array_reverse($breadcrumbs);
          foreach ($breadcrumbs as $crumb) {
              echo $crumb ;
          }
          echo '<li>' .get_the_title() . '</li>' ;
      } elseif (is_404()) {
          echo '404 エラー';
      }

      if (get_query_var('paged')) {
          if (is_category() || is_day() || is_month() || is_year() || is_search() || is_tag() || is_author()) {
              echo ' (ページ ' . get_query_var('paged') . ')';
          }
      }
      echo '</ul></div>';
  }
}

パンクズ(トピックパスを入れるところ)

<?php custom_breadcrumbs(); ?>

HOME > wordpress設計術 > wordpressのパンクズ(トピックパス)2024年functions.phpとテンプレートに記載

wordpress設計術

wordpress設計術