![見出し画像](https://assets.st-note.com/production/uploads/images/72231111/rectangle_large_type_2_97e9ffceb29bc4fa1be65717f5c34c55.jpeg?width=800)
【 WordPress 】 page.phpを使い回して効率化!! 投資家のFIREへの旅路 第317回
WordPressの、固定ページのテンプレートファイルである「page.php」を
WordPressのテンプレートタグを使って、簡単コーディングしました。
めんどくさがることは大切ですね!!
【 作りたいページ 】
今回作りたいのは、「制作実績」のページと、その詳細ページです。
〈 制作実績一覧ページ 〉
![](https://assets.st-note.com/img/1644833286414-TKxQ9ExIlT.png?width=800)
このように、一覧で表示されるようにしたいと思います。
そして、実績が追加されるごとに、htmlを追記するのがめんどくさいので、
ここに表示される一覧は、「固定ページ」で作成して、その固定ページのIDを指定したものが一覧で表示されるようにします。
〈 実績詳細ページ 〉
![](https://assets.st-note.com/img/1644833229393-9oYvFl6Hsg.png?width=800)
「固定ページ」で作る詳細ページです。
こちらには、固定ページのタイトルと、アイキャッチ画像を表示して、
コンテンツの内容としては、リンクを貼っているだけです。
一つ一つのファイルのhtmlを書くのがめんどくさいので、
WordPressのテンプレートタグを使って、一つのpage.phpで、今後追加されていく新しい実績の詳細ページも含めて、同じように表示されるようにします。
【 固定ページの作成 】
まずは、固定ページを作ります。
固定ページ
新規追加
固定ページを編集
と進みますが、私は、プラグインでクラシックエディターを入れていますので、最新のエディターと見た目が違うと思います。
正直こちらの方がわかりやすいです!
![](https://assets.st-note.com/img/1644834513743-cpeSZcxdIg.png?width=800)
![](https://assets.st-note.com/img/1644834481099-IPnBmmWx2K.png?width=800)
![](https://assets.st-note.com/img/1644834498010-Y1IEyK0M8N.png?width=800)
固定ページの中身は、
タイトル = 和夢兎
本文(コンテンツ) = リンクを設定(URL)
アイキャッチ画像を設定。
これのみ!です。
次はこの固定ページを一覧で表示させる
【 WP Show Posts 】
![](https://assets.st-note.com/img/1644834537407-ESEPW2liaH.png?width=800)
プラグインのWP Show Postsを使います。
その名の通り、Posts(投稿)を、Show(見せる)してくれます。
プラグインをインストールして有効にしましょう。
・投稿リスト作成
![](https://assets.st-note.com/img/1644834605709-CqDsEJlFvN.png?width=800)
「投稿リスト」を新規作成します。
今回の場合は、「制作実績」という投稿リストを作成しました。
・投稿リストの詳細設定
![](https://assets.st-note.com/img/1644834612187-aLmwumlXIj.png?width=800)
続いて、「制作実績」投稿リストの詳細を設定します。
今回は、「固定ページ」を一覧表示させたいので、
投稿タイプ→pageを選択します。
postを選択すると、「固定ページ」ではなく、「投稿ページ」を表示するという設定になります。
ブログ一覧などを表示させたい場合は、こちらを選択しましょう。
・投稿リストの抜粋設定
![](https://assets.st-note.com/img/1644834617925-IZkoDKJp60.png?width=800)
この設定では、固定ページのコンテンツ部分を、抜粋して表示する時に、何文字表示するかを設定できます。
今回の固定ページは、リンクを書いているだけなので、その文字数分以上あればOKなので、80文字に設定しました。
これで「一覧ページ」に固定ページのコンテンツとして、リンクのURLを表示させます。
・投稿IDの設定
![](https://assets.st-note.com/img/1644835564866-wxDinj8FYK.png?width=800)
「固定ページ」には、aboutページやcontactページなど様々な任意のページが存在してくるので、その固定ページの中から、制作実績の固定ページのみを一覧表示させた訳です。
その時に、固定ページの見分ける手段として「ID」があります。
一覧に表示させたいページのIDを、入力しましょう。
「 , 」で区切って数字を入れるだけです。
さて、このIDはどこに書いてるんだという話ですが、それはここ!
・固定ページのIDの確認方法
![](https://assets.st-note.com/img/1644834488123-R8XKDFnk7t.png?width=800)
こちらGoogle ChromeのUIですが、URLが表示されるところです。
固定ページの編集画面に行くと、
大体このようなURLになっていて、(作業はローカル環境ですので、その辺りの表示が違うと思います)
「post=94」という表示があります。
この数字が投稿IDです!
表示したい固定ページのIDをこのように確認しましょう。
・Wp Show Posts を設定する
![](https://assets.st-note.com/img/1644835550005-qhpXlHreKg.png?width=800)
投稿リストの編集ページの右下あたりに、このような項目があります。
ショートコード
関数
と、ありますが、ショートコードの場合は、
投稿ページの編集画面や、固定ページの編集画面から、その本文に、このショートコードを貼り付けて使うイメージです。
その貼り付けた箇所に、投稿リストが表示されます。
今回の解説では、
関数の方を使います!
関数のところをコピーするとこのようなコードが出てきます、
<?php if (function_exists('wpsp_display')) wpsp_display(92); ?>
コードエディターで、このコードを表示したい箇所いに貼り付けるだけです!
今回は、このような、制作実績の一覧ページを作ります。
![](https://assets.st-note.com/img/1644833286414-TKxQ9ExIlT.png?width=800)
このページのコードがこちらです。
<!--get header--------------------------------------------->
<?php get_header(); ?>
<!--page-blog wrapper--------------------------------------------->
<div class="page-works-wrapper">
<h1>制作実績</h1>
<div class="page-works-container">
<!--パンクズリスト--------------------------------------------->
<?php
if (function_exists('yoast_breadcrumb')) {
yoast_breadcrumb('<p id="breadcrumbs">', '</p>');
}
?>
<section class="page-works-container-inner-website">
<h1>ホームページ・Web</h1>
<!--固定ページ一一覧表示--------------------------------------------->
<?php if (function_exists('wpsp_display')) wpsp_display(92); ?>
</section>
<section class="page-works-container-inner-dtp">
<h1>DTP</h1>
</section>
</div>
</div>
<?php get_footer(); ?>
<?php if (function_exists('wpsp_display')) wpsp_display(92); ?>
このコードが、真ん中下あたりにあります。
このように、コード貼り付けるだけで、一覧が簡単に作れます、
細かい、設定は、CSSで行う必要があります。
一応CSSも載せておきますが、これは結構無理やり感あるので、参考までに!
.page-works-wrapper {
width: 100%;
max-width: 1120px;
margin: 0 auto;
overflow: hidden;
h1 {
width: 100%;
text-align: center;
padding-top: 2%;
letter-spacing: 4px;
@include textSizeMid;
}
.page-works-container {
margin: 0 auto;
width: 100%;
#breadcrumbs {
width: 90%;
margin: 0 auto;
max-width: 1120px;
a {
color: $textColor1;
text-decoration: none;
}
}
.page-works-container-inner-website {
width: 90%;
margin: 6% auto;
position: relative;
h1 {
width: 100%;
text-align: left;
color: $textColor;
padding-bottom: 2%;
}
#wpsp-92 {
width: 98%;
margin: 0 auto;
.wp-show-posts-single {
width: 30%;
box-shadow: 6px 6px 10px black;
margin-left: 2%;
margin-bottom: 8%;
background-color: white;
.wp-show-posts-inner {
margin-left: 5%;
.wp-show-posts-image {
img {
width: 80%;
object-fit: contain;
}
}
.wp-show-posts-entry-header {
h2.wp-show-posts-entry-title {
@include textSizeSmall;
text-align: center;
a {
color: $textColor;
}
}
}
}
}
}
}
}
}
【 テンプレートファイル 】
ここで、おさらいです。
WordPressには、各ページに対応したテンプレートファイルというものがあります。
今回作っている「固定ページ」は、
固定ページを作っただけでは、表示されません。ここがわかりにくいところです!
さっき作ったやん!!ってなるんですよね。
WordPressは、WordPress内で編集しているのは「固定ページ」情報です。
その情報をどのように表示するのかを、設定するのが、
「page.php」というファイルです。
というか、
「固定ページ」を表示するという命令が出たら、WordPressは、「page.php」という名前のファイルを探します。これが見つからないと、白い画面になります。
トップページの場合は、「front-page.php」
投稿ページの場合は、「single.php」
任意の固定ページの場合は、「page-任意の名前.php」
という風に、表示しようとするファイルのphpファイル名はルールで決まっています。
【 page.php 】
固定ページのレイアウトと定義するテンプレートファイルは、
page.phpになります。
この名前のファイルを作って、WordPressが見つけれるようにするイメージですね。
![](https://assets.st-note.com/img/1644833229393-9oYvFl6Hsg.png?width=800)
このページは、このpage.phpで作られています。
<!--get header--ヘッダーを表示する------------------------------------------->
<?php get_header(); ?>
<!--page-wrapper--------------------------------------------->
<div class="page-wrapper">
<!--固定ページのタイトル取得--------------------------------------------->
<h1><?php the_title(); ?></h1>
<!--.content--------------------------------------------->
<div class="content">
<!--アイキャッチ画像を表示--------------------------------------------->
<!--ページのIDを取得--------------------------------------------->
<?php echo get_the_post_thumbnail(get_the_ID()); ?>
<!--コンテンツを表示する--------------------------------------------->
<?php the_content(); ?>
</div>
</div>
<!--get footer---フッターを表示する------------------------------------------>
<?php get_footer(); ?>
<?php get_header(); ?>
ヘッダー表示させます。
<h1> <?php the_title(); ?> </h1>
固定ページのタイトルを表示します。
<h1>タグをつけているのは、CSSで編集するためです。
<?php echo get_the_post_thumbnail(get_the_ID()); ?>
このコードは2つの動きをします。
echo get_the_post_thumbnail で、固定ページで設定しているアイキャッチ画像を表示します。
get_the_ID() で、固定ページのIDを取得します。
このIDとは、固定ページのIDです。WP Show Postsのところで確認したこれです。
![](https://assets.st-note.com/img/1644834488123-R8XKDFnk7t.png?width=800)
<?php echo get_the_post_thumbnail(10); ?>
という感じで、ID番号を直接書いても動きますが、そうすると、全ての固定ページで、固定ページID10のアイキャッチ画像は表示されてしまうので、
<?php echo get_the_post_thumbnail( ○○ ); ?>
この○○の部分を、今表示している固定ページのIDを自動で入れてほしいわけです。
なので、get_the_ID() という命令を書くことで、IDをgetしてきてくれるのです!!
これで、一つ一つの制作実績の詳細ページのコードを書く必要がなくなります。
phpはこのように使いまわせるコードなのです!
【 まとめ 】
今回ご紹介した方法は、
WordPressとphpならではの、簡単コーディングです。
1つのファイルで、その後増えるであろうページのレイアウトも管理できる!
こんな便利なことはありません。
今回の方法を様々なに応用して、
めんどくさいことをしない=効率の良いサイト制作を進めましょう!
この記事が気に入ったらサポートをしてみませんか?