ベストセラー人気 WordPress テーマTop 30 詳細

WordPress ユーザー定義の文タイプを使用して「北のレビュー」を作る

Last Updated:2020年3月31日| 3のコメント
  • Naver ブログを共有する
  • Naver バンドに共有する
  • Facebook 共有する
  • Twitter 共有する
  • 카카오스토리공유하기

WordPressでは、基本的な文のタイプ(文、ページなど)のほか、ユーザー定義文のタイプ(Custom Post Type)を作成することができます。 例えば映画レビュー、音楽レビューなど特化したカテゴリーの記事を作成するのに便利です。 この記事では、「北のレビュー」文の種類を作成する方法を段階的に説明します。

最終的に次のような文の種類を作成することです。

Custom Post Type with Star Rating※参考までに、コーディング作業なしで不動産物件検索サイトや映画のレビューサイトを作成したい場合Toolsetプラグインを利用することができます

WordPress ユーザー定義の文タイプを使用して「北のレビュー」サイトを作成する方法

計画

まず、「北のレビュー」にどのような項目が入るのかを考えてみます。 私は、次のような項目を北レビューに入れたいと思います。

  • 記事タイトル
  • 作家
  • 表紙画像
  • アマゾンURL
  • 書評

ここで、書評は本文の内容に置き換えとなりますので、4つのユーザーフィールドが必要です。

そしてarchiveページを作成するのかを決定する必要があります。 archiveページを作成一目瞭然に見ることができますので、archiveページを作成するします。 「book」文の種類を作る手順は以下のとおりです。

  1. 「book」のカスタマイズ文のタイプを設定します。
  2. カスタムフィールドを追加します。
  3. 文のテンプレートを作成します。
  4. 記事アーカイブ(Archive)を作成します。

ユーザー定義の文タイプの作成

ユーザー定義文のタイプ(Custom Post Type)は、 WordPress 古写本を参考に手動で作成することもできるが、ここでは、管理しやすいようにプラグインを使用するようにします。

カスタムポストタイプのUIというプラグインをインストールするようにします。 有効にすると、ダッシュボードにCPT UIというメニューが追加されます。 投稿タイプの追加/編集をクリックして、新しい文のタイプを作成します。

Create a custom post type using CPT

適切に入力するようにします。 ここで "Has Archive"部分は、以下のように入力します。
Has Archive in CPT

「Save Post Type」を押すと、「Book」ユーザー定義文のタイプが作成され、更新すると、次のガトイン「北のレビュー」メニューがダッシュボードに追加されます。
Book Review Post Type in Dashboard

オホーツクは、すでに完了した取引のような感じがします。 しかし、まだ長い道のりがこと...この状態で「北のレビュー」で、新しい記事を作成してみると、一般文と同じように表示されます。 次に、あえて苦労新しい記事タイプを作成する必要がないでしょう? 続いて進めていきます。

ユーザー定義フィールドの作成

さて、先ほど作成した「book」という文のタイプに使用するカスタムフィールドを追加するようにします。 同様に、手動での作成が可能ですが、ここでは 高度なカスタムフィールドというプラグインを使用して、カスタムフィールドを作成いたします。 このプラグインをインストールして有効にすると、ダッシュボードに「Custom Fields」が生成されます。 カスタムフィールドフィールドグループを作成し、次のようにカスタムフィールドを作成します。
Create Custom Fields in WordPress
ここでCustom Fieldsを北レビューのみ表示されるように、次のような場所(Location)を指定できます。
Location Custom Fields will be assigned to
そして注意すべき点は、カバーを「Image Field Type」で作ったが、Return Value "をImage Object」にせずに、「Image URL」に設定して与えるようにします。 そうでなければ、画像が正しく表示されない問題が発生します。
Add image custom field in WordPress カスタムフィールド

今記事作成画面に追加したユーザー定義のフィールドが追加されています。
Added Custom Fields to Custom Post Type

この状態で、新しい記事を作成して発行しても、通常の文章で文章を作成したと別段異なることはありません。 続いて、この文の種類のテンプレートとArchiveテンプレートを作成します。

文テンプレートの作成

ユーザー文のタイプの文のテンプレートの名前は、single- {post_type} .phpで指定する必要があります。 この例では、「single-book.php "ファイルを作成するようにします。 single-book.phpファイルを作成しsingle.phpファイルの内容をすべてコピーして挿入します。 そして適切修正をするようにします。 テストでは、Twenty Thirteenテーマを使用していました。 single.phpファイルで部分をcontent.phpファイルの内容に変え修正をしました。 そうではなくcontent.phpで「book」文のタイプに該当する部分を追加するように修正してもされます。 (このような内容は、テーマごとに異なりますので、この作業のためにはテーマファイルの分析が必要です。)single-book.phpファイルにカスタムフィールドの部分を次のように追加しました。

<table width="50%" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td width="25%"><strong>제목:</strong></td>
    <td width="75%"><?php the_field('title'); ?></td>
  </tr>
   <tr>
    <td><strong>저자:</strong></td>
    <td><?php the_field('author'); ?></td>
  </tr>
  <tr>
    <td><strong>URL:</strong></td>
    <td><a href="<?php the_field('amazon'); ?>" target="_blank">Click</a></td>
  </tr>
  <tr>
    <td><strong>커버:</strong></td>
    <td><img src="<?php the_field('cover'); ?>" alt="" /></td>
  </tr>
  
</table>

ユーザーフィールドの内容をテーマファイルに追加する方法は、 次の記事を参照してください。

コードを適用してみると次のように、個々の文が表示されます。

Book Review  -  Crime and Punishment  -  WordPress

これは「罪と罰」の内容ですね。 幼いときに非常に感銘よう読んだ本の一つです。

もう最後に「book」文の種類のアーカイブページを作成する方法を説明します。

アーカイブテンプレートの作成

アーカイブテンプレートファイルの名前は、archive- {post_type} .php形式が必要です。 したがって、「archive-book.php "ファイルを作成するようにします。 そしてarchive.phpファイルの内容をそのままコピーして貼り付けようにします。 そして、状況に応じて適切に変更します。 Twenty Thirteenテーマの場合文の内容が全体的に出て見るが良くなくて要約文(Excerpt)が出るように少し修正をしてみました。 このとき条件に次のコードを使用します。

if ( 'book' == get_post_type() )

WordPress 説明によると、is_singular(「book」)の形が合うようだが、不思議正常に動作しない、上記のコードを使用したら正常に動作しますね。 アーカイブページのリンクは、http://ブログ_アドレス/ book /になります。 Twenty Thirteenテーマでアーカイブページを少し変更して、CSSを調整すると、:
Book Review Custom Post Type in WordPress

アーカイブテンプレートの変更もテーマに依存しており、若干のPHPの知識が必要です。

そしてメニューもアーカイブページを追加すると、良いでしょう? ルックス>メニューで「ユーザー定義のリンク "として追加してくれれば、新たに作成された「北のレビュー」が完成します。
カスタムリンク

追加:Taxonomyを使用して分類を作成し

ユーザーTaxonomy追加する

上記の手順で「book」文の種類が一通り完了しました。 ここカテゴリー機能についてしばらく論じたいと思います。 記事に使用されているカテゴリをそれでもユーザー定義文のタイプにも使用が可能です。 しかし、実際にはカテゴリーリンクをクリックしてみると文がないと出てくるのです。 これを解決するには、categoryファイルの適切な場所 if( 'book' == get_post_type()) 条件文を追加して、問題を解決することができます。 この方法の代わりに、ユーザー定義の分類(Taxonomy)を作成し、「北のレビュー」のカテゴリに活用することができます。

このため、 CTP UIから 分類の追加/編集を選択して、新しい分類を作成するようです。
New Taxonomy attached to the custom post type
情報を適当に記入し Attach to Post Typeに上記で作成し文の種類をチェックするようにします。

そして 投稿タイプの追加/編集に移動し、上記で作成し文の種類(book)の情報のいずれかを変更します。 "Built-in Taxonomies"で作成した分類のみをチェックするようにします。
Built in Taxonomies

ユーザー分類リンクを追加する

上記のように処理した場合、作成した分類が「北のレビュー」の下に追加されていることです。
Book Genre

個別の記事では、分類の情報が表示されるようにするには、次のようなコードを該当する場所に追加するようにします。

<?php echo get_the_term_list( $wp_query->post->ID, 'bookreview', '', ', ', '' ); ?>

たとえば、次のように記事本文のすぐ上には、分類情報を表示してクリックすると、その分類のArchiveページに移動できるようにすることができます。
Taxonomy Link

ユーザー定義の分類アーカイブの作成

「北のレビュー "文の種類に「文タイプ」の分類を追加しました。 これで、この「文タイプ」の分類をカテゴリページのように使用するためのArchiveページを作成させます。 アーカイブの名前はtaxonomy- {taxonomy_name} .php形が必要です。 この場合には、taxonomy-bookreview.phpという名前のファイルを作成し上記の作業していた "archive-book.php"ファイルの内容をコピーして貼り付けます。 そして 「book」== get_post_type()の部分はis_tax(「bookreview」)に変更ししてくれるようです。 その後、同じ形のアーカイブテンプレートが完成します。

おわりに

以上でユーザー定義文のタイプを作成する方法を、例えば簡単に説明しました。 可能な簡単に説明すると努力したが、この部分が本来の初心者がついてするには容易ではないことがあります。 特に文のテンプレートとアーカイブテンプレートの場合PHPの知識とCSSの知識が必要になることができます。 もし説明が不十分な部分がある場合はお知らせください。 この方法を使用して、「映画レビュー」、「クラシック音楽レビュー "...など、さまざまな応用が可能になります。

付録:星評価を追加する

次の図のように星評価を追加することができます。

Custom Post Type with Star Rating

星評価を追加するには、Advanced Custom Fieldsで数字の入力を受けるカスタムフィールドを一つ作成します。

Add a custom field with number

今適当な別の画像を入手するようにします。 XNUMXつの星の種類が必要になります:オンビョル、班別、そして空の星。 それぞれの名前をstar.png、half.png、blank.pngといえば、single-book.phpファイルに次のコードを追加するようにします。

<tr>
<td><strong>평가:</strong></td>
<td><?php if( get_field('rating') ) {
$starNumber = get_field('rating');

for($x=1;$x<=$starNumber;$x++) {
echo '<img src="http://www.example.com/star.png" />';
}
if (strpos($starNumber,'.')) {
echo '<img src="http://www.example.com/half.png" />';
$x++;
}
while ($x<=5) {
echo '<img src="http://www.example.com/blank.png" />';
$x++;
}
echo '(';
the_field('rating');
echo ')';
}
?></td>
</tr>

その後、上記の図のように星評価が追加されます。

参照



3のコメント

コメント

  1. こんにちは。

    カスタムフィールドを二つ追加して記事の種類を追加したが
    (オリジナル:(タイトル/内容)
    (追加:タイトル/カスタムフィールド1 /カスタムフィールド2 /内容)

    既存の WordPressが自動的に提供されたオリジナルの書き込みの文章は、上記のカスタムにインポート順ませんか?
    そうなるとカスタムフィールド1 /カスタムフィールド2の内容は、nullになるでしょう。

    その理由は、元の文を書くのカテゴリに分類をイミダゾールておい、
    フィールドが追加されている風にXNUMXつ以上作成されたもので
    私はこの両方の分類が同じように適用されると思った、まったく違うんですよ。

    私の質問が少し曖昧できるのに...再び整理すると、

    1)追加された記事の種類のカテゴリを既存のものと同じように使用できるかどうか?
    - ない場合の方法は、既存の文の種類自体を変更して捨てるか? (新たに追加したものではなく、)

    2)新たに追加された記事のタイプにエディタがブトジルない...(WPBakery使用中)もしこれオプションがありますか。

    ありがとうございます。

    応答
    • 1. Custom Post Type UIプラグインを使用してカスタムポストタイプを作成する場合 WordPress コアのカテゴリーとタグの分類(taxonomy)を選択することができます。 この機能を使用してみなくて希望どおりに動作するかは分かりません。

      https://www.screencast.com/t/NuM4bjBuZ

      そして https://premium.wpmudev.org/blog/add-custom-post-types-to-tags-and-categories-in-wordpress/ 記事によると、 WordPress 基本カテゴリーを使用してもカテゴリページ(アーカイブページ)では、カスタムポストタイプの文章が表示されないです。 しかし、リンクされた文で提示するコードを使用すると、カテゴリページにカスタムポストタイプのカテゴリー文等も表示されるとね。

      The only problem is、out of the box、 WordPress does not automatically take your newly created custom post types and add them to the archive pages for existing taxonomies「categories」or「tags」

      That means if you created a custom post type called "movies" and used the native WordPress taxonomy "category" to categorize and order that custom post type、simply navigating to the archive for that category will not show your custom post type in the list of posts for that archive。

      For example、you created a movie review site and used standard WordPress categories and tags with that custom post type so you could relate those reviews to your other posts or pages。 Let's say you decided to use a category of "drama" Navigating to the category archive for drama、namely http://yoursite.com/category/drama will not show the custom post type you just added - even though you selected the drama category。

      This is frustrating for those who go through the trouble to add plan out a custom post type、taxonomies、add the content and then find out it does not display correctly。

      Some would call this a bug、but the developers at WordPress maintain that sorting archives is for normal post types for which WordPress was created、and adding in that functionality for custom post types requires some custom code。 And indeed it does。

      So、if you'd like your custom post types to show up in archive listings for your site's standard tags and categories you can add the following code to your functions.php file:

      https://www.screencast.com/t/rJxzmbMpTD

      2. WPBakeryページビルダーでポストタイプを選択することができませんか? 次の図を参照してみてください。

      https://www.screencast.com/t/G7I4yL7B

      応答
    • テストをしてみるとCustom Post Type UIを使用して、新しいカスタムポストタイプを作成し WordPress 基本カテゴリーを接続した後、参照される記事に記載され、コードを使用したら、必要に応じ動作ですね。

      そしてWPBakery Page Builderもカスタムポストタイプで使用するように設定が可能ですね。

      https://www.screencast.com/t/Cl6cPYILlNv

      しかし、テストに使用したWPBakeryページビルダーでは、Warning:count():Parameter must be an array or an object that implements Countable in ...エラーが発生し、正常に動作しませんね。

      応答