サポート » 使い方全般 » カスタムフィールドテンプレートの複数項目の出力やカスタマイズについて

  • 解決済 takashi0106

    (@takashi0106)


    はじめまして。
    現在、WordPressのカスタム投稿(CPT UI)と「カスタムフィールドテンプレート(プラグイン)」を使用して、クックパッド(cookpad)にあるレシピページのような項目を作成したいと考えております。

    具体的には、レシピにある「作り方の部分のみ」で、
    手順1に[画像1][テキスト1]、手順2に[画像2][テキスト2]、手順3に[画像3][テキスト3]…
    の表示をしたいと思っています。
    手順については、wordpressの投稿画面で「追加」できるように、
    テンプレートに「multiple = true multipleButton = true」を設定しています。

    解決できない部分については、php構文の書き方です。
    htmlの<dl>を使用して<dt>([画像1])<dd>([テキスト1])を入力されている数だけ出力したいのですが、変数の書き方等がほとんど理解できておらず止まっております。

    大変お手数をお掛けいたしますが、よろしくお願いします。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • 直接の回答ではありませんが、まだ検討段階でしたら個人的にはCustom Field Templateを使うのはどうかと思いますよ。
    もう一年も更新されてませんので、余程の拘りがあるわけでないなら、多くの方が使っていて更新及び動作確認されているAdvanced Custom Fieldsの方が良いと思います。
    しかしAdvanced Custom Fieldsはデータベースに無駄にゴミを作るので、それは嫌だとお考えならSmart Custom Fieldsがお勧めですが検証バージョンが4.7.5のままですね…
    どうしてもCustom Field Templateでなければ駄目ならば仕方ないですが…

    manbo 様

    早速のご返信、誠にありがとうございます。
    Custom Field Templateについては拘りがあるわけではないので、
    Smart Custom Fieldsの利用を検討してみます!
    当初は、Advanced Custom Fieldsを利用してみたのですが、
    投稿画面側で項目の追加機能が有償となる記事を見かけたので、断念しました…。

    お知恵を貸していただきましたこと、本当にありがとうございます。

    ※当トピックにつきましては、もう数日、他者様の回答を待ってみますが、
    返信がないと判断した場合に「解決済み」とさせていただきます。

    何故、プラグインを見直した方が良いとレスしたかと言いますと万一、Custom Field Templateが更新されなくなり最新のWordPressで動かないような状況が起きた場合、別のプラグインに変更するなどの作業が必要になります。
    これはCustom Field Templateに限った事ではないですが、目先の事よりもっと先の事も考えて作業を進めた方が後々問題を抱える可能性が低いと思うんですよね。

    例えばShortcodes Ultimateなんかも人気のあるプラグインですが、しばらく更新も止まりPHP7で動かないなどとコメントが入っています。
    実際、自分も使っていましたがPHP7にバージョンアップした際に問題が起きて止む無く停止し、それを機に重い腰を上げ極力プラグインに依存しないような構成に変更しました。

    takashi0106さんはAdvanced Custom Fieldsで言うRepeater Fieldの機能が必要なんでしょうかね。
    これは今名前が挙がっているカスタムフィールド拡張系のどのプラグインで言える事ですが、繰り返しフィールドの出力方法は全て異なるので、先に述べたように万一乗り換えが必要になった際にはその部分も修正する必要が出てきます。
    これは致し方ない事ですが、そのリスクを少しでも少なくできる方向で考えた方が良いですよね。
    でも、もしかするとSmart Custom Fieldsもこのまま更新されないかもしれません。可能性はゼロではないですよね。しかしこればかりは誰にも分かりません。
    でも、作者さんは日本の方ですのでそんな事はないでしょう?

    まぁ、かなり長々と書きましたがそんな事を真剣に考えてたら先行きしませんので、とりあえずSmart Custom Fieldsの設定項目と出力方法を書いておきます。

    Smart Custom Fieldsのタイトル レシピ
    繰り返しにチェック グループ名 how_to_make
    タイプ テキストエリア
    名前 text
    ラベル テキスト

    サブフィールドを追加
    タイプ 画像
    名前 image
    ラベル 画像
    プレビューサイズは任意選択

    右記メタボックスの表示条件 投稿

    表示したいテンプレートに以下を追記

    <?php if ( get_post_meta( get_the_ID(), 'text', true ) ):
    	$get_group = SCF::get( 'how_to_make' );
    	foreach ( $get_group as $fields ) {
    ?>
    <?php echo wp_get_attachment_image( $fields['image'], 'full') ;?>
    <?php echo $fields['text']; ?>
    <?php } ?>
    <?php endif; ?>

    画像サイズはfullの部分をmedium等に適宜修正してください。
    どのようなレイアウトか分からないのでそのまま出力しますが、分からない事があれば訊いてください。

    • この返信は2年、 9ヶ月前にmanboが編集しました。

    manbo 様

    夜分遅くのご返信、あわせて「Smart Custom Fields」のコードまで記載いただきましたこと、
    深くお礼申し上げます。
    manbo様のおかげで、更新が止まったプラグインの利用について理解が深まりました。
    今まで自分の使いやすいプラグインを選定し利用してきたのですが、
    今一度、この考えを改めなおしてmanbo様のおっしゃるように、目先の事よりもっと先の事も考えて作業を進めていきます。

    ご返信いただいたSmart Custom Fieldsのコードで実装させていただきます。
    この度は迅速かつ丁寧にご対応いただきまして誠にありがとうございました。

    ※当トピックは、解決済みとさせていただきます。

4件の返信を表示中 - 1 - 4件目 (全4件中)
  • トピック「カスタムフィールドテンプレートの複数項目の出力やカスタマイズについて」には新たに返信することはできません。