WordPressでよく使うPHP

yasuko
WordPressは深いね

WordPressでは毎回同じ記述をするのに

何度やっても覚えられない自分のために。

今日もコピペで使えるPHPコードをまとめておきます

ヘッダー読み込み

<?php get_header(); ?>

オリジナルヘッダー読み込み

header-original.php を作成

<?php get_header('original'); ?>

フッター読み込み

<?php get_footer(); ?>

テンプレートにする

<?php
/**
 * Template Name: お知らせ一覧
 */
 
get_header(); ?>

ホームURLを取得する

<?php echo home_url(); ?>

テンプレートディレクトリを取得する

<?php echo get_template_directory_uri(); ?>

ページタイトルを取得(h2タグ)

<? the_title( '<h2>', '</h2>' );?>

カスタム投稿タイプの一覧を取得する

<?php the_permalink(); ?>  //パーマリンク取得
<?php the_title(); ?>  //記事タイトル取得
<?php the_time('Y.m.d'); ?>  //記事日付をフォーマット指定して出力
<?php echo get_the_date(); ?>  //記事日付取得&出力
<?php the_post_thumbnail(); ?>  //サムネイル取得

カスタム投稿タイプの一覧を表示する

  <?php
  $args = [
    'post_type' => 'pickup', // カスタム投稿名が「pickup」の場合
    'posts_per_page' => 5, // 表示する数
	'order' => 'DESC',
  ];
  $my_query = new WP_Query( $args );
  ?>
  <?php if ($my_query->have_posts()): // 投稿がある場合 ?>
  <ul class="" id="">
    <?php while ($my_query->have_posts()) : $my_query->the_post(); ?>
    <li class=""> <a href="<?php the_field('pickup_url'); ?>" target="_blank">
      <div class="">
		  <?php echo wp_get_attachment_image(get_post_meta($post->ID, 'pickup_img', true),'pickup-thum'); ?>
      </div>
      <h2>
        <?php the_title(); ?>
      </h2>
      </a> </li>
    <?php endwhile; ?>
  </ul>
  <?php else: // 投稿がない場合?>
  <p>まだ投稿がありません。</p>
  <?php endif; wp_reset_postdata(); ?>

投稿一覧を表示する

<?php
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$the_query = new WP_Query( array(
   'post_status' => 'publish',
   'post_type' => 'post', 
   'paged' => $paged,
   'posts_per_page' => 10, // 表示件数
   'orderby'     => 'date',
   'order' => 'DESC'
) );
if ($the_query->have_posts()) :
   while ($the_query->have_posts()) : $the_query->the_post();
   ?>

    <dl class="news_list">
        <dt><?php echo get_the_date(); ?></dt>
        <dd><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></dd>
    </dl>

   <?php
   endwhile;
else:
   echo '<div><p>ありません。</p></div>';
endif;
?>

人気記事一覧を表示する

<?php
// views post metaで記事のPV情報を取得する
setPostViews( get_the_ID() );
// ループ開始
query_posts( 'meta_key=post_views_count&orderby=meta_value_num&posts_per_page=5&cat=-1&order=DESC' );
while ( have_posts() ): the_post();
?>
<div class="">
<div class="">
  <a href="<?php the_permalink(); ?>">
  <div class="blog_img">
    <?php the_post_thumbnail(); ?>
  </div>
  </a>
  <div class="">
    <?php
    $cat = get_the_category();
    $cat = $cat[ 0 ]; {
      echo '<span class="blog_cat ' . $cat->category_nicename . '"><a href="' . get_category_link( $cat->term_id ) . '">' . $cat->cat_name;
    }
    ?>
    </a></span>
  </div>
  <p class="title"><a href="<?php the_permalink(); ?>"><?php echo wp_trim_words(get_the_title(), 48, "…", "UTF-8"); ?></a></p>
  <p class="post_date">
    <?php the_time('Y.m.d'); ?>
  </p>
</div>
</div>
<?php endwhile; ?>

ページネーション

別記事にまとめました。