• HOME
  • WordPressで使えるコード一覧(ループ、出力、頻出コード)
TomoyaOkada

WordPressで使えるコード一覧(ループ、出力、頻出コード)

記事をシェアする

備忘録を兼ねて掲載していきます。
コードは基本的にコピペをしてご使用いただけます。

ループ系、カテゴリー系


メインループ

<?php
   if (have_posts()) {
   while(have_posts()) {
   the_post();
?>


  <?php }?>
<?php }?>


サブループ

<?php
$args = array(
 'post_type' => '○○○',
 'posts_per_page' => 10,
 );
    $the_query = new WP_Query($args);
     if ($the_query->have_posts()) {
       while ($the_query->have_posts()) {
       $the_query->the_post();
    ?>

      <?php } ?>
    <?php } ?>
  <?php wp_reset_postdata(); ?>


ページネーション付き投稿出力(固定ページ)

    <?php
   $paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
   $the_query = new WP_Query(array(
     'post_status' => 'publish',
     'paged' => $paged,
     'posts_per_page' => 2, // 表示件数
     'orderby'     => 'date',
     'order' => 'DESC'
   ));

   if ($the_query->have_posts()) {
     while ($the_query->have_posts()) {
       $the_query->the_post();
   ?>
//コンテンツ
      <?php } ?>
   <?php } ?>
   <!-- pagination -->
   <div class="pagination">
     <?php
     if ($the_query->max_num_pages > 1) {
       echo paginate_links(array(
         'base' => get_pagenum_link(1) . '%_%',
         'format' => 'page/%#%/',
         'current' => max(1, $paged),
         'mid_size' => 1,
         'total' => $the_query->max_num_pages
       ));
     }
     wp_reset_postdata(); ?>
   </div><!-- /pagination -->


投稿に紐づいたカテゴリー表示

<?php
 $categories = get_the_category();
  foreach ($categories as $category) {
  echo $category->name;
 }
?>


カスタム投稿に紐づいたターム表示

<?php
$term = get_the_terms($post->ID,'タクソノミースラッグ');
echo $term[0]->name;
?>


カテゴリーすべて取得表示

<?php
  $categories = get_categories();
  foreach ($categories as $category) {
  echo '<li><a href="' . get_category_link($category->term_id) . '">' . $category->name . '</a></li>';
}
?>


ターム一覧

    <?php
    $all_terms = get_terms('タクソノミー');
    foreach ($all_terms as $term) {
      echo '<li><a href="' . get_category_link($term->term_id) . '">' . $term->name . '</a></li>';
    }
    ?>


カテゴリー名表示

<?php single_cat_title(); ?>


カテゴリー名表示

<?php the_archive_title(); ?>


カテゴリー名表示

<?php echo get_the_archive_title() ?>


投稿詳細ページ送り

   <?php
     $prev_post = get_previous_post();
     $next_post = get_next_post();
     if ($prev_post || $next_post) { 
   ?>
       <nav class="page-nav">
           <?php if ($prev_post) { ?>
               <a href="<?php echo get_permalink($prev_post->ID); ?>" class="page-nav__back">
                   <span>< 前</span>
               </a>
           <?php } ?>
           <?php if ($next_post) { ?>
               <a href="<?php echo get_permalink($next_post->ID); ?>" class="page-nav__next">
                   <span>次 ></span>
               </a>
           <?php } ?>
       </nav>
   <?php } ?>


頻出コード


トップページのURLを取得

<?php echo esc_url( home_url( '/' ) ); ?>


</body>直前に入れる関数

<?php wp_footer(); ?>


</head>直前に入れる関数

<?php wp_head(); ?>


header読み込み

<?php get_header(); ?>


footer読み込み

<?php get_footer(); ?>


CSS、JS、img読み込み(親テーマ)

<?php echo esc_url(get_template_directory_uri()); ?>/


CSS、JS、img読み込み(子テーマ)

<?php echo esc_url(get_stylesheet_directory_uri()); ?>/


タイトル出力

<?php bloginfo( 'name' ); ?>


ショートコード読み込み

<?php echo do_shortcode('[ショートコード]'); ?>


投稿の本文出力

<?php the_content(); ?>


投稿タイトル出力

<?php the_title(); ?>


サムネイル出力

<?php the_post_thumbnail(); ?>


投稿日出力

<?php the_time(get_option('date_format')); ?>


パーマリンク出力

<?php the_permalink(); ?>


記事抜粋(デフォルト110文字)

<?php the_excerpt(); ?>


記事抜粋末尾変更

<?php
function twpp_change_excerpt_more( $more ) {
 return ' ...';
}
add_filter( 'excerpt_more', 'twpp_change_excerpt_more' );
?>


記事抜粋文字数変更(PC・SPそれぞれに設定)

<?php
function twpp_change_excerpt_length( $length ) {
 return ( wp_is_mobile() ) ? 30 : 150;
}
add_filter( 'excerpt_length', 'twpp_change_excerpt_length', 999 );
?>


別のテンプレートファイル読み込み(template.phpの場合)

<?php get_template_part( 'template' ); ?>


パンくずリスト (最低限の記述)

<?php
function breadcrumb()
{
   $home = '<div class="breadcrumb"><li><a href="' . get_bloginfo('url') . '" >TOP > </a></li>';

   echo '<ul>';
   if (is_front_page()) {
     
   } else if (is_single()) {
     
       echo $home;
       the_title('<li>', '</li>');
   } else if (is_page()) {
     
       echo $home;
       the_title('<li>', '</li>');
   } else if (is_search()) {
     
       echo $home;
       echo '<li>「' . get_search_query() . '」の検索結果</li>';
   } else if (is_404()) {
     
       echo $home;
       echo '<li>ページが見つかりません</li>';
   }
   echo "</ul></div>";
}

add_filter('get_the_archive_title', function ($title) {
   if (is_category()) {
       $title = single_cat_title('', false);
   } elseif (is_tag()) {
       $title = single_tag_title('', false);
   } elseif (is_month()) {
       $title = single_month_title('', false);
   }
   return $title;
});

記事をシェアする