WordPressの専用コードを覚えきれず、基本コピペすることが多いのですが、毎回調べるのが面倒なので、よく使うタグを一覧でまとめてみました。
head要素
言語設定
<html <?php language_attributes(); ?>
<html lang="ja">
エンコーディングの設定
<meta charset="<?php bloginfo( 'charset' ); ?>">
<meta charset="UTF-8">
タイトルタグ
functions.phpに記載
function mytheme_setup() { add_theme_support( 'title-tag' ); } add_action( 'after_setup_theme', 'mytheme_setup' );
<title>サイト名 – キャッチコピー</title>
※ <?php wp_title( ‘|’, true, ‘right’ ); ?>は非推奨になり、4.4以降からはfunctionsに記述する方法になりました。
CSSやJSのリンクを出力
<?php wp_head(); ?>
headerなど全ページで使うもの
bodyにclassを追加
ページによって、自動的にclassが追加されます。
<body <?php body_class(); ?>>
<body class="home blog">
サイトのタイトルとキャッチフレーズ
<a href="<?php echo esc_url( home_url() ); ?>"><?php bloginfo( 'name' ); ?></a> <?php bloginfo( 'description' ); ?>
<a href="サイトのトップURL">サイトのタイトル</a> サイトのキャッチフレーズ
bloginfo(表示する項目) url: サイトのURL name: サイトのタイトル description: サイトの説明 pinback ピンバックのURL charset: 文字コード lauguage: 言語
記事一覧
記事タイトル
<?php the_title(); ?>
記事のリンク
<a href="<?php the_permalink(); ?>">
記事のカテゴリ
<?php the_category( ', ' ); ?>
記事の投稿日時
<?php echo get_the_date(); ?>
ループの書き方
<?php if ( have_posts() ) : ?> <!-- 投稿がある場合、1度だけ処理される --> <?php while ( have_posts() ) : ?> <?php the_post(); ?> <!-- 繰り返し処理される --> <?php endwhile; ?> <!-- 投稿がある場合、1度だけ処理される --> <?php else : ?> <!-- 投稿がない場合、1度だけ処理される --> <?php endif; ?>
<?php the_post(); ?> ループ内で実行することによって、投稿のいろいろなデータ(タイトルや投稿内容など)を取得できるようになります。 while ( have_posts() )でループを開始してから、the_post();を実行します。
記事一覧 まとめサンプル
<?php if ( have_posts() ) : ?> <ul> <?php while ( have_posts() ) : ?> <?php the_post(); ?> <li> <time datetime="<?php echo get_the_date( DATE_W3C ); ?>"><?php echo get_the_date(); ?></time> <div> <p><?php the_category( ', ' ); ?></p> <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2> <p><?php the_tags(); ?></p> </div> </li> <?php endwhile; ?> </ul> <?php else : ?> <p>投稿がありません。</p> <?php endif; ?>
<ul> <li> <time datetime="投稿日時">投稿日時時間</time> <div> <p><a href="カテゴリーのリンク" rel="category tag">カテゴリー名</a></p> <h2><a href="記事のリンク">記事タイトル</a></h2> <p>記事の本文</p> </div> </li> </ul>
ページネーション
<?php the_posts_pagination(); ?>
<nav class="navigation pagination" role="navigation"> <h2 class="screen-reader-text">投稿ナビゲーション</h2> <div class="nav-links"><span aria-current='page' class='page-numbers current'>1</span> <a class='page-numbers' href='http://original.local/page/2/'>2</a> <a class="next page-numbers" href="http://original.local/page/2/">次へ</a></div> </nav>
条件分岐
<?php if ( is_home() || is_front_page() ) : ?> トップページの時だけ表示 <?php else : ?> トップページ以外に表示 <?php endif; ?> <?php if ( is_single() ): ?> 投稿のページでのみ表示 <?php endif; ?> <?php if (is_page('contact')): ?> url/contact の時だけ表示 <?php endif; ?> <?php if (get_post_type() == 'event'): ?> カスタム投稿タイプ「event」の時だけ表示 <?php endif; ?>
さらに細かい書き方はcodexを参照してください。
Codex 条件分岐タグ
固定ページ
<?php while ( have_posts() ) : ?> <?php the_post(); ?> <h1><?php the_title(); ?></h1> <article> <?php the_content(); ?> </article> <?php endwhile; ?>
<?php the_content(); ?> 投稿記事の本文を出力 本文中に <!--more--> クイックタグがある場合、先頭からそのクイックタグまでの内容のみを抜粋として表示します。
投稿記事ページ
<?php while ( have_posts() ) : ?> <?php the_post(); ?> <?php if ( has_post_thumbnail() ) : ?> <?php the_post_thumbnail(); ?> <?php endif; ?> <h1><?php the_title(); ?></h1> <article> <?php the_content(); ?> </article> <time datetime="<?php echo get_the_date( DATE_W3C ); ?>"><?php echo get_the_date(); ?></time> <?php the_author_posts_link(); ?> <?php the_category( ', ' ); ?> <?php the_tags(); ?> <?php the_post_navigation( array( 'prev_text' => '前の記事:%title', 'next_text' => '次の記事:%title', ) ); ?> <?php endwhile; ?>