あっと思いついたモノやコトをご紹介

あっとろぐ

このサイトにはPRが含まれます

WordPress

「Advanced Custom Fields」の使い方【応用編】本のレビューサイトをカスタムフィールドで作ってみる

投稿日:

あっとろ
あっとろの「」の評価は…

(null/5)

「Advanced Custom Fields」は、カスタムフィールドを作成、表示できるプラグインです。

今回は応用編として、カスタムフィールドで本のレビューページを作成してみます。

基本の使い方は、「基本編」をご参照ください。

「Advanced Custom Fields」はカスタムフィールド系プラグインで一番おすすめ【基本の使い方】

↓こんな感じのページを作っていきます。

今回は有料オプションの「繰り返しフィールド」を使用しますが、使用部分は「おすすめポイント」の部分のみです。

カスタムフィールドを作成する

本のレビュー項目として、以下の項目を作ります。

  1. 書籍名
  2. 画像
  3. 詳細
  4. 評価
  5. オススメポイント

繰り返しフィールドは「おすすめポイント」で使用します。

項目を無限に追加できます。

公式サイトから25ドルで購入できます。

無限に追加できる項目を増やしたい方は、プラグイン⇒新規追加で購入した繰り返しフィールドをアップし、有効化しておきましょう。

 

WP管理画面⇒サイドバー:カスタムフィールド と進みます。

  1. 書籍名を追加します。
    フィールドタイプ:テキスト
    フィールド名:book_name
  2. 画像アップロード項目を追加します。
    フィールタイプ:ファイル
    フィールド名:book_img
    返り値:ファイルURL
  3. 本の詳細を追加します。文字色を変えたりしたいのでビジュアルエディタにします。
    フィールド名:book_Impressions
    フィールタイプ:Wysiwygエディタ
  4. 本の評価をセレクトボックスで選べるようにします。
    フィールド名:book_star
    フィールタイプ:セレクトボックス
    「選択し」の部分に評価の数字を入れます。
  5. いくつでも追加できるおすすめポイントを作成します。
    フィールド名:book_point_g
    フィールタイプ:Repeater
    「Add Sub Field」ボタンでサブフィールドを追加します。
    サブフィールド名:book_point
    サブフィールタイプ:テキスト

以上の項目を追加したら「公開」か「更新」を押します。

カスタムフィールドに入力する

カスタムフィールドに値を入力していきます。

投稿ページへ行くと以下のような項目が下に追加されていると思います。

上記項目に、本のレビューを入れていきましょう。

オススメポイントは、「Add Row」を押すことで、項目を追加できます。

 

ページにカスタムフィールドの入力値を表示する

single.phpなどにコードを追加していきます。

書籍名

書籍名を表示するには以下のコードを任意の場所に入れます。

php

<?php if( get_field('book_name') ): ?>
<h2><?php the_field('book_name'); ?></h2>
<?php endif; ?>

 

<?php if( get_field('フィールド名') ): ?>でフィールドに入力があった場合。

<?php the_field('フィールド名'); ?>で、フィールドの入力値を表示させます。

画像

画像を表示させるには、以下のコードを追加します。

cssはどの大きさでアップロードしても同じ大きさになるように調整しています。

altには書籍名を入れました。

php

<?php if( get_field('book_img') ): ?>
<p class="img"><img src="<?php the_field('book_img'); ?>" alt="<?php the_field('book_name'); ?>" /></p> 
<?php endif; ?>

css

.img img{
width:150px;
}

詳細

本の詳細です。

php

<?php if( get_field('book_Impressions') ): ?>
<h3>詳細</h3>
<p class="impressions"><?php the_field('book_Impressions'); ?></p>
<?php endif; ?>

評価

本の5段階評価は、星をCSSで表示させます。

php

<h3>評価</h3>
<p class="star star<?php the_field('book_star'); ?>">(<?php the_field('book_star'); ?>)</p>

 

css

.star:before {
color:#F90;
}
.star5:before {
content:'★★★★★';
}
.star4:before {
content:'★★★★';
}
.star3:before {
content:'★★★';
}
.star2:before {
content:'★★';
}
.star1:before {
content:'★';
}

オススメポイント

オススメポイントのみ有料プラグインを使用し、入力があった分だけ表示させます。

画像を複数登録したい場合などにも使えます。

php

<?php if( get_field('book_point_g') ): ?>
<h3>オススメポイント</h3>
<ul class="book_point_g">
<?php while ( have_rows("book_point_g") ) : the_row(); ?>
<li><?php the_sub_field('book_point');?></li>
<?php endwhile; ?>
</ul>
<?php endif; ?>

 

have_rowsが繰り返しフィールド。

サブフィールドを表示させるときは、「the_sub_field」を使います。

コードまとめ

上記のコードを全てまとめたものです

php


<?php if( get_field('book_name') ): ?>
<h2><?php the_field('book_name'); ?></h2>
<?php endif; ?>

<?php if( get_field('book_img') ): ?>
<p class="img"><img src="<?php the_field('book_img'); ?>" alt="<?php the_field('book_name'); ?>" /></p>
<?php endif; ?>

<h3>評価</h3>
<p class="star star<?php the_field('book_star'); ?>">(<?php the_field('book_star'); ?>)</p>

<?php if( get_field('book_Impressions') ): ?>
<h3>詳細</h3>
<p class="impressions"><?php the_field('book_Impressions'); ?></p>
<?php endif; ?>

<?php if( get_field('book_point_g') ): ?>
<h3>オススメポイント</h3>
<ul class="book_point_g">
<?php while ( have_rows("book_point_g") ) : the_row(); ?>
<li><?php the_sub_field('book_point');?></li>
<?php endwhile; ?>
</ul>
<?php endif; ?>

 

css

.img img{
	width:150px;
}
.star:before {
color:#F90;
}
.star5:before {
content:'★★★★★';
}
.star4:before {
content:'★★★★';
}
.star3:before {
content:'★★★';
}
.star2:before {
content:'★★';
}
.star1:before {
content:'★';
}

 

以上の手順でレビューページをカスタムフィールドで作成できます。

繰り返しフィールドとカスタムフィールドは色々なサイトに応用できます。

レシピサイトや、色々なレビューサイトを作ることも可能です。

ぜひ色々なサイトを作ってみてください。

  • この記事を書いた人
あっとろ

あっとろ

WordPressをいじったり、妄想したり、本を読むのが趣味の「あっとろ」です。好物はチャーハン。詳しいプロフィール

-WordPress
-, , , ,

Copyright© あっとろぐ , 2024 All Rights Reserved.