
ホームページの制作において基本的にWordPressを使用して制作を行っています。
そこで、よく使用する関数やテンプレートタグをまとめておきます。
自分でも仕事に使用するためによく使ったり、忘れたりするものがあるので同じような方に向けてお役に立てば幸いです。
ホームへのURLや任意ページへのURLを取得
ヘッダーのロゴやグローバルナビゲーションなどからホームへのリンクを設定する場合
<?php echo esc_url( home_url( '/' ) ); ?>
同様に下層ページへのリンクも該当するパスを指定すれば取得できます。
<?php echo esc_url( home_url( '/about/' ) ); ?>
- サイトURLの設定によっては最後の末尾にスラッシュ(/)が不要な場合もあります。
WordPressにおける記事のメインループやサブループに使用するタグ
メインループのコードをもとに各タグの説明をまとめておきます。
<?php
$args = array(
'post_type' => 'post',
'posts_per_page' => 5
);
query_posts( $args );
?>
<?php if (have_posts()): ?>
<ul>
<?php while ( have_posts() ): the_post(); ?>
<li>
<a href="<?php the_permalink(); // パーマリンクの取得 ?>">
<?php
if(has_post_thumbnail()){
the_post_thumbnail(); // アイキャッチ画像の表示
} else {
echo '<img src="' . get_template_directory_uri() . '/images/noimage.jpg" alt="No Image">'; // アイキャッチ画像がない場合のデフォルト画像の表示
}
?>
<p class="date"><?php the_time('Y.m.d'); // 投稿日時 ?></p>
<h3><?php the_title(); // タイトル表示 ?></h3>
<p>カテゴリー:<?php the_category( ' / ' ); // カテゴリー表示 ?></p>
<?php the_content(); // 本文の表示 ?>
</a>
</li>
<?php endwhile; wp_reset_query(); ?>
</ul>
<?php endif; ?>
条件分岐タグ
ログインしている場合の判別
ユーザーがサイトに設置しているWordPressにログインしているか、していないかを判別します。
本番環境においてテストアップする場合などに便利です。
<?php if (is_user_logged_in()): ?>
ログインしている場合の表示
<?php else: ?>
ログインしていない場合の表示
<?php endif; ?>
ホームの判別
現在表示しているページが、ホーム(トップページ)かどうかを判別します。
<?php if ( is_home() || is_front_page() ) : ?>
ホームに表示する内容
<?php else: ?>
ホーム以外に表示する内容
<?php endif; ?>
各ページの判別
投稿記事ページ、固定ページ、カテゴリーページなど様々なページにおいても同様に判別します。
そのページだけに表示させたい場合やページ毎に表示を切り替えたい場合に便利です。
<?php if ( is_single() ) : ?>
投稿ページで表示する内容
<?php endif; ?>
<?php if ( is_page() ) : ?>
固定ページで表示する内容
<?php endif; ?>
<?php if ( is_category() ) : ?>
カテゴリーページで表示する内容
<?php endif; ?>
<?php if ( is_archive() ) : ?>
アーカイブページで表示する内容
<?php endif; ?>
<?php if ( is_tag() ) : ?>
タグページで表示する内容
<?php endif; ?>
さらに詳細な条件分岐については、いつかまとめておこうかと思います。
読み込みに使用する関数
有効化しているテンプレートのディレクトリURLを取得
テンプレートのディレクトリを取得するための関数です。テンプレートにある画像やCSS・JSなどを読み込む時に使用します。
<?php echo get_template_directory_uri(); ?>
任意のテンプレートパーツを読み込む
WordPressのテンプレートにはheader.phpやfooter.phpといったテンプレートパーツがありますが、これはテーマにおいて何度も同じ記述を使用するためのものです。
同じようにテーマにおいて何度も同じ記述を使用する場合に、独自のテンプレートパーツを作成して読み込むための関数です。
<?php get_template_part('sample'); ?>
この場合、sample.phpを読み込んでいます
<?php get_template_part('content', 'new'); ?>
この場合、content-new.phpを読み込んでいます
ショートコードの表示
ショートコードのほとんどは投稿ページや固定ページで使用するためのコードですが、PHPに直接読み込むための関数です。
<?php echo do_shortcode('[ショートコード]'); ?>
まとめ
以上、WordPressでよく使用する関数やテンプレートタグを紹介しました。
しかし、実際に制作をしている中のほんの一部なのでまだまだ使用する関数はたくさんあります。
今後も自分なりに必要になったものは別途投稿していきます。