WordPressのテーマ作成をする際に、よく利用するテンプレートタグをまとめました。
WordPressでよく使用されるテンプレートタグをご紹介したいと思います。
毎回良く利用するテンプレートタグを、基本的なタグから応用が効くタグまでピックアップしてまとめました。
※テンプレートファイルを直接編集する場合などは、必ずバックアップを取ってから編集してください。
また、利用する場合は自己責任でお願いします。
テンプレートファイルへの挿入
プラグイン動作用タグ(ヘッダー用:必須)
プラグインの動作に必要なテンプレートタグ。
プラグインが使用するcssやjsファイルを自動で出力するために、head終了タグの直前に挿入。
<?php wp_head(); ?>
プラグイン動作用タグ(ヘッダー用:必須)
プラグインの動作に必要なテンプレートタグ。
プラグインが使用するcssやjsファイルを自動で出力するために、footer終了タグの直前に挿入。
<?php wp_footer(); ?>
bodyへのclass設定対応
表示するページの種類(トップページ・固定ページなど)によってbodyに自動的にクラスを追加。
<body <?php body_class(); ?>>
デフォルト以外のクラス名を追加したいときは、下記のように記述。
<body <?php body_class('classname'); ?>>
ヘッダーテンプレートタグ
「header.php」ファイルを読み込む。
<?php get_header(); ?>
サイドバーテンプレート
「sidebar.php」ファイルを読み込む。
<?php get_sidebar(); ?>
フッターテンプレート
「footer.php」ファイルを読み込む。
<?php get_footer(); ?>
コメントテンプレート
「comments.php」ファイルを読み込む。
<?php comments_template(); ?>
テーマ内に異なるコメントを表示する場合は、別のファイル(例. short-comments.php)を作成して、下記のように記述。
<?php comments_template( '/short-comments.php' ); ?>
検索フォームテンプレートタグ
「searchform.php」ファイルを読み込む。
<?php get_search_form(); ?>
任意のテンプレートファイル.phpの呼び出し
別のファイル(例. ファイル名.php)を作成して、下記のように記述。
<?php include( TEMPLATEPATH . '/ファイル名.php' ); ?>
スマートフォンとパソコンのコンテンツ表示の有無
Webサイトを閲覧する端末のヘッダー情報を見て、パソコン用のコンテンツと、スマートフォン用のコンテンツを切り分ける、WordPressの条件分岐タグ。
<?php if ( function_exists('wp_is_mobile') && wp_is_mobile() ) :?> スマートフォン用コンテンツを配置。 <?php else: ?> パソコン用コンテンツを配置。 <?php endif; ?>
WordPressの基本情報を出力タグ
文字コードの指定
<meta charset="<?php bloginfo( 'charset' ); ?>">
ブログURL
<?php echo esc_url( home_url( '/' ) ); ?>
ブログ名
<?php bloginfo('name'); ?>
タイトルを設定するタグ(区切り線挿入)
<title><?php wp_title('|', true, 'right'); ?><?php bloginfo('name'); ?></title>
キャッチフレーズ
「一般設定」管理画面で指定したブログの説明文・キャッチフレーズを出力。
<?php bloginfo('description'); ?>
CSS(スタイルシート)のディレクトリのURIを取得
<?php echo get_stylesheet_directory_uri(); ?>
テーマテンプレートのURL
テーマファイルディレクトリのURLを出力。
<?php echo get_template_directory_uri(); ?>
RSSフィードのURL
<?php bloginfo('rss2_url'); ?>
WordPressのバージョン
WordPressのバージョン出力。
<?php bloginfo('version'); ?>
条件分岐タグ
テンプレートファイル内で表示される内容や、特定のページ内容を表示する条件を設定するのに使用する。
記事の有無
記事があるかどうかを判定。
<?php if(have_posts()): ?> // 処理内容 <?php endif; ?>
メインページの条件分岐
メインブログページが表示されている場合。
<?php if ( is_home() || is_front_page() ) : ?> // 処理内容 <?php endif; ?>
フロントページの条件分岐
投稿・固定ページにかかわらず、サイトのフロントページが表示されている場合。
<?php if(is_front_page()): ?> // 処理内容 <?php endif; ?>
投稿記事ページの条件分岐
投稿記事のページかどうかを判定。
投稿ID、投稿タイトル、投稿名をパラメータとして指定。
<?php if(is_single('投稿ID')): ?> // 処理内容 <?php endif; ?>
固定ページの条件分岐
固定ページかどうかを判定する。
ページID、タイトル、スラッグをパラメータとして指定。
<?php if(is_page('ページID')): ?> // 処理内容 <?php endif; ?>
カテゴリーページの条件分岐
カテゴリーのアーカイブページかどうかを判定。
<?php if(is_category('カテゴリID')): ?> // 処理内容 <?php endif; ?>
アーカイブページの条件分岐
アーカイブページかどうかを判定。
カテゴリー、タグ、作成者、日付をパラメータとして指定。
<?php if(is_archive('カテゴリID')): ?> // 処理内容 <?php endif; ?>
タグページの条件分岐
タグのアーカイブページかどうかを判定。
タグのスラッグをパラメータとして指定。
<?php if(is_tag()): ?> // 処理内容 <?php endif; ?>
日付ページの条件分岐
日付別のアーカイブページのいずれかが表示されている場合。
<?php if(is_date()): ?> // 処理内容 <?php endif; ?>
ページ数の条件分岐
表示中のページが複数のページにわたる場合。
<?php if(is_paged()): ?> // 処理内容 <?php endif; ?>
カスタム投稿タイプの条件分岐
カスタム投稿タイプのアーカイブページのものかどうかチェック。
<?php if(is_post_type_archive()): ?> // 処理内容 <?php endif; ?>
404ページの条件分岐
404 Not Found ページかどうかを判定。
<?php if(is_404()): ?> // 処理内容 <?php endif; ?>
スマートフォン・タブレット端末別の条件分岐
モバイル端末(スマートフォン+タブレット)を判別。
<?php if ( wp_is_mobile() ) : ?> // モバイル用コンテンツ <?php else: ?> // PC用コンテンツ <?php endif; ?>
ログインユーザーの条件分岐
<?php if( is_user_logged_in() ) : ?> // ログインした状態 <?php else: ?> // ログインしてない状態 <?php endif; ?> <?php if ( wp_is_mobile() ) : ?> // モバイル用コンテンツ <?php else: ?> // PC用コンテンツ <?php endif; ?>
投稿エリアで使うタグ
記事のID
<?php the_ID(); ?>
記事の日付
<?php the_time('Y.m.d');?>
記事の更新日
<?php the_modified_date('Y.m.d'); ?>
記事のタイトル
<?php the_title(); ?>
記事の本文
<?php the_content(); ?>
moreタグがある場合はsingleページ以外では概要文のみを表示し、「続きを読む」リンクをつけられて出力。
<?php the_content('続きはこちら'); ?>
記事本文の文字を制限して表示(70文字で区切って語尾に…を表示)
<?php echo mb_substr($post->post_content,0,70).'...'; ?>
抜粋テンプレートタグ
<?php the_excerpt(); ?>
記事のURL(パーマリンク)
<?php echo get_permalink(); ?>
記事の投稿者
<?php the_author(); ?>