【WordPress】必須タグ一覧
こんにちは!
インターン生の近藤です。現在、インターン生はHTML&CSSをWordpressに組み込む研修を行っています。今回は、Wordpressで必須なタグについてまとめたいと思います。
内容
- 関数とテンプレートタグの違い
- 目的別タグの使い方
関数とテンプレートタグの違い
WordPressでタグを検索すると「関数」または「テンプレートタグ」と記載されている場合があります。二つの関係性は以下だと思いました。
親:関数
子:テンプレートタグ
親の関数の中には「テンプレートタグ」以外にも「条件分岐タグ」や「インクルードタグ」があります。
目的別タグの使い方
WordPressには様々な関数やタグが用意されています。そこで今回は、私がよく使ったものついて紹介したいと思います。
- 基本的な書き方
- テーマ作成時に必ず記述するべき関数
- テンプレートファイルを読み込む
- トップページのメニューを表示する
- ページに紐づく情報を取得する
- 表示されるページによって条件分岐する
- トップページに投稿一覧を表示する
基本的な書き方
基本的には<?php?>の中に関数名やタグ名を書きます。
<?php ここに関数名やタグ名を書く ?>
テーマ作成時に必ず記述するべき関数
テーマを作るときに必ず記述しなければいけません
<?php wp_head();?> //<header>の最後に
<?php wp_footer();?> //<body>の最後に
テンプレートファイルを読み込む
他のphpファイルと共用の部分headerやfooterなどは、header.phpやfooter.phpでまとめておくと、使いやすいです。まとめたものを呼び出すときに使用します。
<?php get_header();?> //header.phpを呼び出す
<?php get_footer();?> //footer.phpを呼び出す
<?php get_templete_part('引数');?> //引数.phpを呼び出す
トップページのメニューを表示する
管理画面>外観>メニューで作成したものを表示します。
<?php wp_nav_manu();?>
ページに紐づく情報を表示する
ページに紐づく情報を表示したいときは、これらのタグを使用します。ループの中で使用します。
<?php the_permalink();?> //URL表示
<?php the_title();?> //タイトル表示
<?php the_excerpt();?> //抜粋を表示
<?php the_content();?> //内容を表示
<?php the_post_thumbnail();?> //アイキャッチを表示
<?php the_time();?> //投稿時間を表示
<?php the_category();?> //カテゴリーを表示
<?php the_tags();?> //タグを表示
the_*()とget_the_*()の違い
※「*」←これは何でもという意味です
get_*()とthe_*()の違いは、取得と表示です。get_*()が取得で、the_*()が表示です。get_*()を使用するときは、表示のためにphpでの出力「echo」を使用します。下の図のようなイメージです。
<?php the_title();?> //タイトル表示
<?php echo get_the_titile();?> //タイトル取得して出力
get_*()とget_the_*()の違い
最初にgetがつくものでも違いがあります。theがつかないget_*はデータを取得しているのではなく、テンプレートを取得してきています。
<?php get_header();?> //headr.php=テンプレートを取得
タグ | 機能 | 種類 |
the_*()…the_title() | 表示 | データ |
get_the_*()…get_the_title() | 取得 | データ |
get_*()…get_header() | 取得 | テンプレート |
表示されるページによって条件分岐する
固定ページか投稿ページでCSSを変更したい場合などに使用します。
<?php is_front_page();?> //トップページ
<?php is_page();?> //固定ページ
<?php is_single();?> //投稿ページ
トップページに投稿一覧を表示する
メインループとサブループの違い
メインループで出来なかった条件をサブループでは指定できます。メインループの進化系がサブループです。例えば、投稿をランダムにトップページに表示するなどです。
サブループの種類として大きく分けて2つ、「get_posts()」と「WP_Query()」です。私は、「get_posts()」を使用しました。
//query_posts()=メインループ
<?php query_posts( $args ); ?>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<p><?php the_title(); ?></p> //タイトルを表示
<?php endwhile; endif; ?>
//get_posts()=サブループ
<?php $myposts = get_posts( $args ); ?>
<?php foreach($myposts as $post) : setup_postdata($post); ?>
<p><?php the_title(); ?></p> //タイトルを表示
<?php endforeach; ?>
<?php wp_reset_query(); ?>
//WP_Query()=サブループ
<?php $the_query = new WP_Query( $args ); ?>
<?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
<p><?php the_title(); ?></p> //タイトルを表示
<?php endwhile; ?>
<?php wp_reset_postdata(); ?>
最後に
今回は、Wordpressの基本的な関数やタグについてまとめました。get_the*()やthe_*()について疑問に思っていたので、これを機会にWordpressへの理解度が高まりました。次回もよろしくお願いします。