30:固定ページ表示用テンプレート作成
公開日:2018年11月06日
更新日:2018年11月07日
WordPressは用途に応じたテンプレート名があらかじめ決めれています。主なテンプレート名は以下です。
| front-page.php | フロントページ表示用テンプレート |
|---|---|
| home.php | 主に固定ページの上にあるブログ投稿一覧表示用テンプレート |
| single.php | 投稿詳細ページ表示用テンプレート |
| page.php | 固定ページ表示用テンプレート |
| archive.php | アーカイブ一覧全般表示用テンプレート |
| category.php | カテゴリー一覧表示用テンプレート |
| tag.php | タグ一覧表示用テンプレート |
| search.php | 検索結果一覧表示用テンプレート |
| date.php | 日付別一覧表示用テンプレート |
| 404.php | 404エラー表示用テンプレート |
| searchform.php | 検索フォーム用テンプレート |
| comments.php | コメント用テンプレート |
「page.php」は「固定ページ」を表示する時に使用するテンプレートです。
このテンプレートが呼び出される時、メインループデータには固定ページデータが入ります。
固定ページ表示用テンプレート
page.php
今までは固定ページ表示に「index.php」を使用していましたが、優先度の高い固定ページ専用テンプレート「page.php」を新しく作成します。
<?php get_header(); ?>
<div class="content">
<div class="main">
<div class="main-loop">
<div class="inner">
<?php /***** メインループ開始 *****/ ?>
<?php if (have_posts()) :?>
<?php while (have_posts()) : the_post(); ?>
<?php $id = get_the_ID(); ?>
<?php // テンプレートパーツ読み込み:一覧 ?>
<?php get_template_part('content','page'); ?>
<?php endwhile; ?>
<?php else: ?>
<?php // テンプレートパーツ読み込み:記事なし ?>
<?php get_template_part('content','none'); ?>
<?php endif; ?>
<?php /***** メインループ終了 *****/ ?>
</div><!-- /.inner -->
</div><!-- /.main-loop -->
</div><!-- /.main -->
</div><!-- /.content -->
<?php
get_footer();
content-page.php
固定ページ専用表示部分モジュール(テンプレートパーツ)を作成します。
<?php // アイキャッチ画像 ?>
<div class="thumbnail">
<?php echo getThumbnail('large'); ?>
</div>
<?php // タイトル ?>
<h2 class="title"><?php the_title(); ?></h2>
<?php // 本文 ?>
<div class="article"><?php the_content(); ?></div>
functions.php
詳細ページでは大きなアイキャッチ画像を表示したい。
そのため getThumbnail関数が画像サイズ文字列を受け取れるように変更する。
変更前
// アイキャッチ画像
function getThumbnail() {
$code = '';
if (has_post_thumbnail()) {
$code .= get_the_post_thumbnail(get_the_ID(), 'thumbnail');
}else{
$code .= '<img src="'.get_template_directory_uri().'/img/no-image.png" alt="'.get_the_title().'">'.PHP_EOL;
}
return $code;
}
変更後
// アイキャッチ画像
function getThumbnail($type = 'thumbnail') {
$code = '';
if (has_post_thumbnail()) {
$code .= get_the_post_thumbnail(get_the_ID(), $type);
}else{
$code .= '<img src="'.get_template_directory_uri().'/img/no-image.png" alt="'.get_the_title().'">'.PHP_EOL;
}
return $code;
}
2行目
function getThumbnail($type = ‘thumbnail’) {
5行目
$code .= get_the_post_thumbnail(get_the_ID(), $type);
このページで出てくる関数
WordPress関数は「公式サイトのドキュメント」で確認しましょう。
WordPressプロパティ
$wp_query->found_posts
WordPress関数
get_header()
have_posts()
the_post()
get_the_ID()
get_template_part()
get_footer()
the_title()
the_content()
オリジナル関数
getThumbnail()
欠席者対応:wireframe12
同じタグのコンテンツ
同じカテゴリーのコンテンツ