0%

Designデザインワークショップ

Posted:2015.07.01

WordPressでよく使うテンプレートタグのまとめ【インクルード・出力・ループタグ】

前回のエントリーではテンプレートファイルについて紹介しましたが、今回はWordPressのカスタマイズに使用する独自のテンプレートタグをまとめました。

 

CMS(コンテンツ・マネージメント・システム)としては最もメジャーなWordPressですが、その理由の一つにはカスタマイズが魅力的な点が挙げられると思います。カスタマイズには必須となるテンプレートタグですが、たくさんの種類があるので、ここでは目的別に分けてよく登場するものを中心に紹介します。

 

テンプレートタグを正しく使用しWordPressのメリットを最大限に引き出したサイト作りを目指していきましょう!

 

1. 【インクルードタグ】 特定のテンプレートファイルを呼び出します
<?php get_header(); ?> ヘッダーテンプレートのheader.phpを呼び出します
<?php get_footer(); ?> フッターテンプレートのfooter.phpを呼び出します
<?php get_sidebar(); ?> サイドバーテンプレートのsidebar.phpを呼び出します
<?php get_search_form(); ?> 検索フォームテンプレートのsearchform.phpを呼び出します
<?php comments_template(); ?> コメントフォームテンプレートのcomments.phpを呼び出します
<?php get_template_part(); ?> その他任意のテンプレートファイルを呼び出します

 

2. 【出力タグ】 サイトの情報やメタデータ、URLなどを出力します
<?php wp_head(); ?> headタグ内に挿入し各種プラグインなどを出力します
<?php wp_footer(); ?> body終了タグ直前に挿入し各種プラグインなどを出力します
<?php wp_title(); ?> ページのタイトルを出力します
<?php wp_list_pages(); ?> 固定ページのリンク付きリストを出力します
<?php wp_list_categories(); ?> カテゴリーのリンク付きリストを出力します
<?php wp_tag_cloud(); ?> タグのリンク付きリスト(タグクラウド)を出力します
<?php wp_get_archives(); ?> アーカイブのリンク付きリストを出力します
<?php wp_nav_menu(); ?> ナビゲーションメニューを出力します
<?php wp_enqueue_script(); ?> 外部のjavascriptファイルを読み込み出力します
<?php the_widget(); ?> ウィジェットを出力します
<?php next_post_link(); ?> 次の記事へのリンクを出力します
<?php previous_post_link(); ?> 前の記事へのリンクを出力します
<?php bloginfo( 'name' ); ?> ワードプレス管理画面内で設定したサイトのタイトルを出力します
<?php bloginfo( 'description' ); ?> ワードプレス管理画面内で設定したキャッチフレーズを出力します
<?php bloginfo( 'admin_email' ); ?> ワードプレス管理画面内で設定したメールアドレスを出力します
<?php bloginfo( 'charset' ); ?> 適用されている文字コードの種類を出力します
<?php bloginfo( 'atom_url' ); ?> Atom feedのURLを出力します
<?php bloginfo( 'rss2_url' ); ?> RSS 2.0 feedのURLを出力します
<?php echo home_url(); ?> サイトのURLを出力します
<?php echo get_stylesheet_uri(); ?> ベースとなるスタイルシート(styles.css)のURLを出力します
<?php echo get_template_directory_uri(); ?> テーマのディレクトリにあたるURLを出力します
<?php echo get_stylesheet_directory_uri(); ?> スタイルシートのディレクトリ、または子テーマのディレクトリにあたるURLを出力します
<?php the_post_thumbnail(); ?> サムネイル画像を出力します。
<body <?php body_class(); ?>> body要素に個別のクラス名を与えます。

 

3. 【投稿ページタグ】 投稿に関する情報や内容などを出力します
<?php the_date(); ?> 記事が投稿された日時を出力します
<?php the_title(); ?> 記事のタイトルを出力します
<?php the_content(); ?> 記事の本文を出力します
<?php the_excerpt(); ?> 記事の抜粋を出力します
<?php the_permalink(); ?> 記事のURL(パーマリンク)を出力します
<?php the_category(); ?> 記事のカテゴリー(リンク付き)を出力します
<?php the_tags(); ?> 記事のタグを出力します
<?php the_author(); ?> 記事の投稿者を出力します
<?php the_ID(); ?> 記事のIDを出力します
<?php the_terms(); ?> カスタム分類(カスタムタクソノミー)を出力します

上記のテンプレートタグは次で紹介する「ループタグ」というループ処理を行うタグの中で使用します。

 

4. 【ループタグ】 投稿記事などを繰り返し(ループ)表示させます

 

<< 基本ループ >>

 

投稿がある場合に繰り返し表示されます。プログラミングでいうところのwhile文のような役割になります。

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

    //ここにループする内容(ワードプレスでの記事)を記述します

  <?php endwhile; ?>
<?php endif; ?>

 

 

<< 条件分岐ループ >>

 

投稿がある場合に繰り返し表示され、無い場合には別の内容を出力します。記事が無い場合のアラートを表示するケースが多いですね。

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

    //ここにループする内容(ワードプレスでの記事)を記述します

  <?php endwhile; ?>
  <?php else: ?>

  //ここに記事が無い場合の内容を記述します

<?php endif; ?>

 

 

<< 条件指定・変更ループ(query_posts) >>

 

メインのループの表示条件を指定したり変更するループです。特定のカテゴリーを指定したり、投稿の表示数を制限したりすることが可能です。他のループへの影響が出ないようにループの最後にはwp_reset_query()で条件をリセットすることを忘れないようにしましょう。

<?php query_posts( $args ); ?> //条件の変更内容を定義
 <?php if(have_posts()): ?>
   <?php while(have_posts()): the_post(); ?>

     //ここにループする内容(ワードプレスでの記事)を記述します

   <?php endwhile; ?>
 <?php endif; ?>
<?php wp_reset_query(); ?> //条件をリセットする

 

条件指定の例:

<?php
  query_posts( ‘category_name=カテゴリースラッグ&posts_per_page=10’ );
?>
 //カテゴリー名と投稿記事の表示数をカッコ内に記述して指定

 

 

<< カスタムループ(WP_Query) >>

 

メインとなるループとは別に存在するカスタムループを生成します。サイト内で数種類の独立したループを設置する場合に使用します。上記のquery_postsと同じく条件の指定が可能です。

<?php $the_query = new WP_Query( $args ); ?> //条件を定義
 <?php if($the_query->have_posts()): ?>
   <?php while($the_query->have_posts()):$the_query->the_post(); ?>

     //ここにループする内容(ワードプレスでの記事)を記述します

   <?php endwhile; ?>
 <?php endif; ?>
<?php wp_reset_postdata(); ?> //条件をリセットする

 

条件指定の例:

<?php
  //引数($args)に数値を渡す
  $args = array (
  'cat' = カテゴリー名,
  'posts_per_page' => 10
  );
  $the_query = new WP_Query( $args ); ?>
 //カテゴリー名と投稿記事の表示数を引数を使って指定

※query_postsと同じくカッコ内に直接記述することも可能です

 

 

今回はWordPressのオリジナルテーマ作成には欠かすことのできないテンプレートタグについてまとめてみました。ループ処理などはPHPの知識なども入ってきていますので少し難しい印象がありますが、複雑な処理も実現できるので可能性がぐんと広がります。

 

 

author
この記事を書いた人オガワ シンヤ
FacebookTwitter

DesignSupply.代表 / ディレクター・ウェブデザイナー・フロントエンドエンジニアをやっています。「ウェブとデザインでヒト・モノ・サービスを繋げ新しい価値を生み出す」をコンセプトに日々奮闘中!制作中はチョコレートが欠かせない三十路Webクリエイター。

制作のご依頼やお問い合わせ・パートナー業務提携のご相談はこちら

デザインやウェブ制作についてのご依頼やご相談、その他お問い合わせなどもお気軽にご連絡ください。フットワークの軽さやレスポンスの早さ、また豊富な経験や知識、技術を活かした対応力といったフリーランスクリエイターの強みでクライアント様、パートナー企業様のお力になります。デザインからコーディングやWordPress実装といったウェブサイト構築はもちろん、写真撮影や動画編集、コンテンツ制作からサイト運用サポートまで一括してお任せください。

ホームページ制作のご検討やウェブ運用でお悩みの経営者様や企業のウェブ担当者様をはじめ、個人で店舗を営んでいらっしゃるオーナー様、フリーで活動されているビジネスオーナー様はもちろんのこと、リソース不足でお困りの制作会社様、またクリエイターをお探しの代理店様も大歓迎です。

コンタクトをご希望の方はお手数ですが、下記よりお問い合わせフォームのページへアクセスしていただき、必要事項を入力の上メッセージを送信してください。確認でき次第すぐに折り返しご連絡致します。

こんな記事も読まれています

コメントもお気軽にどうぞ

記事に関するご質問やご意見などありましたら下記のコメントフォームよりお気軽に投稿ください。なおメールアドレスは公開されませんのでご安心ください。また、* が付いている欄は必須項目となります。

内容に問題なければ、下記の「コメントを送信する」ボタンを押してください。

CAPTCHA


ページトップへ
大阪市天王寺区のホームページ制作デザイン事務所(SOHO)DesignSupply.【デザインサプライ】