web-dev-qa-db-ja.com

カスタム投稿タイプでフォトギャラリーシステムを作成する

私はWordPressを使って映画ブログを作成しています。

私は映画と予告編のカスタム投稿タイプを持っていて、これに写真機能を追加したいのですが、この写真と映画CPTの間の関係を追加したいです。

これを処理するための最良の方法は何ですか?カスタムフィールドが答えですか?カスタムフィールドに手動で映画の投稿IDを追加しますか?

4
tiltdown

はい、カスタムフィールドがその良い答えです。

作業を簡単にするために、プロセスを自動化してそのためのNiceインターフェースを作成できるプラグインがいくつかあります。

ひとつは Advanced Custom Fields ですが、そのRepeatable Fieldはプレミアムアドオンなので、他のものと一緒に使用する方法を説明します。

カスタムコンテンツタイプマネージャ

このプラグインはカスタム投稿タイプも管理しますが、あなたが既にあなたのものを作成している場合、それらは「外部作成」として表示されます。

とにかく、カスタムフィールドも処理され、それらを任意のCPTに割り当てることができます。

ベロー、タイトルのみが有効になっている Gallery CPTのスナップショットと、Images用の1つの繰り返し可能フィールド、およびRelationShip用の別のフィールド (これは任意の投稿タイプにすることができます:投稿、ページ、cpt、添付ファイル)

enter image description here

テーマコードで それらのCFを実装する を行う方法について プラグインドキュメント を読む必要があります。

gallery_img:to_arrayという名前の繰り返し可能な画像フィールドを取得する方法のサンプルコード:

$the_imgs = get_custom_field('gallery_img:to_array');
foreach( $the_imgs as $img )
{
    list( $url, $width, $height ) = wp_get_attachment_image_src( $img, 'thumbnail' );
    echo '<img src="' . $url . '" width="' . $width . '" height="' . $height . '"><br />'; 
}
2
brasofilo