WordPressで代表的な文の形式(Post Type)で文(Post)とページ(Page)があります。 他にも WordPressでは、パーソナライズされた文の形式、すなわち、ユーザ定義文の形式(Custom Post Type)を作成することができます。 例えば、この文で取り上げされる「映画レビュー」文の形式や「ポートフォリオ」、あるいは「役員紹介」など、通常の文とは異なる特定の種類の文の種類を追加することができます。 (Post Typeの詳細については、 ここを参照してください。)
上記のような文を着実に作成すると仮定した場合には、まず上記のようなレイアウトを一つ作って文章を作成し、その次からは、以前の記事を複製(Clone)して使用することを考えてみることができます。 この場合には、毎回文を複製して変更する必要が面倒があり、二つ目は、レイアウトを変更しようとする場合には、これまで作成した文章のレイアウトをすべて変更しなければならない事態が発生するかもしれません。 したがって、単純に文(Post)を活用して、上記のように、多少特化した文を作成することは非効率的であることを悟ることができます。
このような場合に、上記のような映画感想の書き込みを集めて管理することができている場合よいでしょう。 そして、レイアウトを変更したい場合、簡単に変更することがありすることです。 そしてカテゴリーなどの別の分類体系も備えればと思います。
この場合、ユーザー定義文のタイプ(Custom Post Type)を利用することができます。
参照で文(Post)のカテゴリー機能を活用しても同様の効果を得ることができます。 つまり、特定のカテゴリ内の記事を、上記の図のようにレイアウトが出てくるように調整する方法です。 この方法を選択すると、ユーザー定義の文のタイプを利用するよりも、作業の流れがはるかに簡単になってカテゴリー機能もそのまま利用できるので、メリットがある反面、文(Post)タイプを利用するので、他の文とかなり分離させることが容易ではないようで文章テンプレートカテゴリに合わせてタグを追加する作業が初心者がするには容易ではないでしょう。 二つの方法の間には長所と短所がありますので、状況に合わせて選択してください。
この記事では、「Movies」という新しいユーザー定義文のタイプを利用して、 "映画レビュー」を WordPressに追加する方法を説明します。
※参考までに、コーディング作業をせず、映画の検索サイト、不動産物件検索サイトなどのカスタムポストタイプとカスタム検索機能を実装したい場合Toolsetツールを使用することができます。
どのようにアクセスするか
まず、「映画レビュー」に入る項目とレイアウトについて視覚化するようです。 上の図では、次のような項目が含まれています。
上記のようなフィールドを別々に追加して、個々の文に表示されるようにします。 この作業も下で行うことです。 全体的には、次のような順序で「映画レビュー」文の種類を WordPressに追加します。
- Moivesユーザー定義文のタイプ(Custom Post Type)作成
- カスタムフィールド(Custom Field)
- 個々の文のテンプレートの作成
- アーカイブテンプレートの作成
- 分類の作成
やや複雑そうですが、プロセスは、直感的な方です。 一度だけ身につける簡単応用して、他の文のタイプにも簡単に作成することができます。 しかし、一方では、初心者が真似のは容易ではない部分がいくつかあります。 すぐにテンプレートのレイアウトを変更する操作です。 この作業の成否は、レイアウトをどれだけうまく構成するかにかかっていると思われます。 そのためには、多少のPHPとCSSの知識が必要です。 そしてテーマに沿って容易かもしれない難しいこともあるようです。 WordPressで成功を決定付ける最も大きな要素の一つがテーマである。 ここでもテーマの威力が表示されるのです。 社説が長くなりましたね。 これから本格的に開始試みますか? まず、新しい「文タイプ」から作られてみましょう。
WordPress 「映画レビュー」文の種類を作成する方法
「Movies」ユーザー定義文の種類を追加する
ユーザー定義の文の種類を追加するには、手動でも可能ですが、ここでは、 カスタムポストタイプのUIというプラグインを使用するようにします。 このプラグインがインストールされていない場合、今すぐインストールして有効にするようにします。
Custom Post Type UIをインストールして有効にすると、ダッシュボード(伝言板)に CPT UIというメニューが左側に追加されます。 「CPI UI」をクリックして、入って 投稿タイプの追加/編集をクリックして、新しい文の種類を追加します。
適当記入するようにします。 私Movieという言葉を使用して作成しました。 ポートフォリオなら "Portfolio"、サービスであれば、「Service」などを使用すると、取得するか? 上では英語で入力したが、 Post Type Slugを除いては、ハングルで入力できます。
そしてここでは、Archiveを作成する予定であるため、「Has Archive」の設定を次の図のように設定するようにしてください。
さて、上記のように入力して保存した後に更新すると、左側のパネルに作成したユーザー定義の文が追加されたことが見えますか?
続いて、各記事に追加するユーザー定義フィールド(Custom Field)を追加するようにします。
カスタムフィールド(Custom Field)を追加する
ここで作ろうとする「映画レビュー」には、一般的な文にない項目がいくつかあります。 すぐ 「映画のタイトル」、「監督」、「出演」、「レート」、「トレーラーYouTubeのビデオ "このまさにそれです。 これらの各項目をカスタムフィールドに追加すると、各項目が値を持つようになりますので、後で他の用途にも活用することができます。 まずは各項目をカスタムフィールドに追加し、その値を受けて、単一の文(Single Post)に表示されるようにします。
この作業は、 高度なカスタムフィールドというプラグインを使用するようにします。 このプラグインがない場合はインストールして有効にしてください。 このプラグインをインストールして有効にすると、 "Custom Fields」というメニューがダッシュボードの左側のパネルに表示されます。 「Custom Fields」をクリックして、新しいフィールドを追加するようにします。
まず、「フィールドのグループ」を一つ作成します。 私は「Movies」と一つ作りました。 次に、このグループにユーザーフィールドを追加するようにします。
必要なフィールドを追加してください。 私は上記のように追加しました。 グァンラムピョンのみ数字で指定した残りはすべて「テキスト」に指定しました。 グァンラムピョンの場合、5点満点基準での数値を記入した場合、アスタリスクで示すようにすることです。 そして「Location」で「Post Type "を" movie "で指定するようにします。 ようここに追加するユーザーのフィールドグループが作成文のタイプにのみ表示されます。
これでMovies文のタイプに新しいカスタムフィールドグループが追加されました。 「Movie Review」をクリックして文を一つ作成してみると文章を書くエディタのすぐ下に追加したユーザーフィールドが表示されます。
続いて、個々の文のテンプレートを作成してみましょう。
Movies文の種類の文テンプレートの作成
文のテンプレートを最初から作成するのは簡単なことではありませんので、既存の文のテンプレートを利用して、作成するよう致します。 次の手順に従って、新しい記事タイプの文のテンプレートを作成することができます。
- single-movie.phpファイル(空のファイル)を作成します。
- single.phpファイルの内容をコピーします。
- コピーした内容をsingle-movie.phpファイルに貼り付けます。
- single-movie.phpファイルを変更します。
非常に簡単ですか? 本来知ることは簡単で知らなければ苦労する方法です。 問題は、single-movie.phpをどのように修正するかです。 参考までに、いくつかのテーマの場合single.phpにすべての内容があるのではなくcontent.phpのような他のファイルを取得するコードになっていることがあります。
たとえば、テストしたテーマがTwenty Thirteenテーマですが、single.phpファイルを見ると、
<?php get_template_part( 'content', get_post_format() ); ?>
上記のような部分が本体部分はcontent.phpファイルを呼んでくるという意味です。 get_template_part()については、こちらを参照してください。
だから、私は単純に上記のコード部分を「content.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('director'); ?></td> </tr> <tr> <td><strong>출연:</strong></td> <td><?php the_field('actors'); ?></td> </tr> <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.site-url.com/star.png" />'; } if (strpos($starNumber,'.')) { echo '<img src="http://www.site-url.com/half.png" />'; $x++; } while ($x<=5) { echo '<img src="http://www.site-url.com/blank.png" />'; $x++; } echo '('; the_field('rating'); echo ')'; } ?></td> </tr> <tr> <td><strong>트레일러:</strong></td> <td><?php if( get_field('youtubeurl') ){ $embed_code = wp_oembed_get( get_field('youtubeurl'), array('width'=>440) ); echo $embed_code; } ?></td> </tr> </table>
そして参考に「movie」に対応する文のタイプを示すために
is_singular( 'movie' );
上記のようなコードを使用する必要がないと WordPress 説明書に出てきます(ここ を参照)。 しかし、このコードがない仕事に行くには、次のコードを使用してください。
if ( 'movie' == get_post_type() )
参考までに is_single()は、すべての文のタイプ(attachmentとpage post typeを除く)の単一文を表示するときに使用されます。 したがって、single.php内容のis_single()はそのままで、新たに作成したユーザー定義文のタイプまで、すべて含まれていますのでsingle-movie.phpファイルで上記の「カスタムフィールド」の部分以外はあえて変更しなくてもされます。 (なぜならis_single()が既にすべての文のタイプを含んでいるからです。 ここ 参考)
上記のコードではstar.png、half.png、blank.pngは星の形を表すアイコンです。 それぞれオンビョル、班別、ビンビョル(空の星)を意味します。 インターネットで適切な星をダウンロードしたり、直接作成しただけでもされます。
上記のように修正してMovie Reviewで文を一つ作成してみると次のように表示されます。
どうですか? もっともらしい見えますか? レイアウトは、欧米に合わせて変更します:
今継続してアーカイブページを作成してみましょう。
アーカイブページを作成する
このサンプルでは、新たに作成された文のタイプのアーカイブのページでは http://www.your-url/movieになります。 しかし、このページにアクセスしてみるとないページに出たり文の内容が表示されないことです。 なぜならarchiveページが存在しないからです。 archiveページも既存のarchiveテンプレートを活用するようにします。
- archive-movie.phpファイル(空のファイル)を作成します。
- archive.phpファイルの内容をコピーします。
- コピーした内容をarchive-movie.phpファイルに貼り付けます。
- archive-movie.phpファイルを変更します。
上記のテンプレートファイルを作成するのと同じでしょうか? ただしsingle.phpファイルがarchive.phpファイルに変わっただけ異なります。 さてarchive-movie.phpファイルをどのように修正すればいいですか? おくと、is_single()部分の内容がそのまま適用されます。 もしかしたらアーカイブのページが正しく表示されたら、あえて変更する必要がありません。 私 if( 'movie」== get_post_type()) 条件を使用して適切に修正しました。 このように変更すると、Twenty Thirteenテーマで、次のように表示されます。
テストに使用したテーマでは、要約文(excerpt)の代わりに全体文を表示するのに、要約が出てくるようにのみ変更されました。
これでも一通り「映画レビュー」文の種類を作成しました。 ここまで進行してもなりますが、テストで各映画ごとにジャンルを追加して、ジャンル別に分類ページを作ってみようします。 このタスクを実行するには、Taxonomyというやや不慣れな概念を理解し、活用する必要があります。
Taxonomyに分類作成
WordPress Codexによると、Taxonomyは文をグループごとに結ぶ方式だと説明されています(ここ を参照)。 カテゴリやタグと同様の種類のいずれかご覧になってもなりそうです。 タグも似たようなタイプを一つにまとめる機能をするものでありカテゴリーも似ています。 ただし、ここで新しい記事の種類に新しい分類を追加しようとするため、Taxonomyが適切です。 (Taxonomyは、通常、「分類」と翻訳されます。)
Taxonomy作成
WordPress ダッシュボードの CTP UIをクリックして、 分類の追加/編集を選択して、新しい分類を作成します。
私は「ジャンル」という分類を作成しました。 ここで「アクション」、「メロ」、「ドラマ」...などのジャンルを追加する予定です。 ここで、上記の図に示すように Attach to Post Typeに「Movies」を選択するようにします。 Taxonomyを作成したら、これを「Movies」文のタイプで使用するように設定してべきでしょう?
CTP UIの 投稿タイプの追加/編集に移動し、「movie」編集画面で「Built-in Taxonomies "セクションに移動して、作成した分類をチェックするようにします。
Genre分類アーカイブの作成
上記で作成し、「ジャンル」の分類のアーカイブを作成するようです。 方式は、上記と同じです。 今 archive-movie.phpの内容をそのまま活用しています。
- taxonomy-genre.phpファイル(空のファイル)を作成します。
- archive-movie.phpファイルの内容をコピーします。
- コピーした内容をtaxonomy-genre.phpファイルに貼り付けます。
- taxonomy-genre.phpファイルを変更します。
変更内容はほとんどなく一つだけ修正するようにします。 「book」== get_post_type()部分を次のコードに変更します。
is_tax('genre')
archive.phpファイルを変更せずにそのままarchive-moive.phpに使用した場合には、taxonomy-genre.phpファイルも変更する必要がありません。
Genre分類を個別記事/アーカイブに表示する
図のようにジャンル名を、個々の文やアーカイブに表示するには、次のコードを使用します。
<?php echo get_the_term_list( $wp_query->post->ID, 'genre', '', ', ', '' ); ?>
結論
以上で、すべてのプロセスが完了しました。 不十分な点がある場合は一つずつ修正しても行くとなるでしょう。 この記事は、 WordPress ユーザー定義の文タイプを使用して「北のレビュー」を作るの続編です。 事実、二人は同じ内容を扱っているが、この記事では、前回の記事で不十分な部分をタッチしたかった。 しかし、時間と能力が不足して詳細に説明していない簡単に移ったところが多いです。 もし知らない関数が出てきた場合、 WordPress Codex文書を検索して確認してみることをお勧めします。 よく理解できない部分がある場合はコメントで教えてください。
これもう3年前なのに...もしかしたら、まだ動作がされている気になります。 それとももっと良い方法が起こっ東洋紡...
こんにちは?
WordPress ドキュメントを参照して作成したため、 WordPress 文書で内容が変更されていない正常に動作するようです。
ただ基本的な文のタイプを利用する場合は、
1。 レイアウトを正しく取って文を作成します。
2。 今後からは文の複製プラグインを使用して文を複製した後、内容を変更します。
このような方法も大丈夫そうです。 他の文との区別は、カテゴリにも可能よ。
文を複製する方法は、次の記事を参照してください。
https://www.thewordcracker.com/basic/%EC%9B%8C%EB%93%9C%ED%94%84%EB%A0%88%EC%8A%A4-%EA%B8%80%ED%8E%98%EC%9D%B4%EC%A7%80%EB%A5%BC-%ED%81%B4%EB%A6%AD-%ED%95%9C-%EB%B2%88%EC%9C%BC%EB%A1%9C-%EB%B3%B5%EC%A0%9C%ED%95%98%EA%B8%B0/
こんにちは。 上の例に沿ってしてもが少し問題を抱えてましたが。 テーマフォルダにsingle-movie.phpがアップロードができません。 新しく作成されたファイルは、すべてのアップロードがダメですね。 single.phpファイルは、テーマでダウンもされてアップロードもされます。 検索をしても答えを探してご連絡致します。 理由を知るのでしょうか。 SFTPはファイルBugzillaのをかぶって。 アマゾンライトセールbitnamiにインストールしました。
こんにちは?
single.phpファイルは、アップロードがしますが、single-movie.phpファイルがアップロードがないということは、正常ではないようです。
WordPressとは関係ないよ、サーバの設定に問題があるようです。
この場合、経験上ownership問題である可能性があります。
http所有者を探して正しく設定やらなくなります。
Ubuntuの場合、通常www-dataであるが、サーバーによって多少異なる場合があります。
たとえば、次のように所有権を割り当てることができます。
sudo chown -R www-data:www-data wordpress/
sudo usermod -a -G www-data www-data
私はUbuntuのワープをインストールするときに、上記同様に所有権を設定します。 ほとんどは特に問題がなく動作しました。
うまく解決にならない場合は、サーバー管理者やサーバーの専門家にお問い合わせください。
アマゾンライトセールが安価に仮想サーバーのホスティングを利用でき、いいが、サーバーを直接セットして運営しなければならない煩わしさがあります。 Linuxサーバの知識が不足すると、ストレスを多く受けることもあるでしょう。
こんにちは。 お知らせいただいたガイドに従ってたが
スマートフォンやタブレットでは見えません。
pcでよく実装された。 原因を知ることができますか?
こんにちは?
ブログを訪問していただきありがとうございます。
上記のコードは、モバイル/ PCかどうかにかかわらず、適用されるようです。
よくない場合...
1)携帯電話でのブラウザの検索履歴/キャッシュを削除してください。
2)適用されたコードにこれまで携帯電話で非表示にするコードが適用されていないことを確認してみてください。
したがって、問題がうまく解決されることを願います。
楽しい一日を^^
こんにちは.....知りたいことがありますが...
カスタムフィールドはよく出てきます...
一般postに作成した文は出ないですね....例えば上記の映画の詳細説明などは
直接使わなければなられる部分ですが...指宿腫れ一般postに作成するのがアニンガヨ?
作成をしても。このコンテンツには、カスタムフィールド、フォームだけ出ますねㅠㅠ
上記の映画詳細は、postで直接作成するもされ、またはcustom fieldに別のフィールドを追加してもされています。 それピョンハシンに処理すればいいようです。
postで作成した文がない出るのはsingle postファイル(テーマによって異なります)でcontent部分が削除されていないことを確認しなければならないようです。