Smart Custom Fieldの繰り返しフィールドがtaxonomy-●.phpで動かない
-
カスタム投稿のタクソノミーに、Smart custom field(SCF)で作った繰り返し機能を持つカスタムフィールドを設置し、その内容を呼び出したいと考えています。
カスタム投稿は
・カスタム投稿スラッグ・・・product
・タクソノミー・・・info
・ターム・・・term01、term02(以後数個)
で設定。
この情報を呼び出すために、
taxonomy-procate.phpというファイルを作って
動かすようにしています。
term01を呼び出したら
http://test.com/product/info/term01/
で表示されます。SCFでは、繰り返しのスイッチを入れて、
・グループ名・・・scf_group
・テキストフィールド・・・scf_text
・テキストエリア・・・scf_textarea
を設定。
この内容を、タクソノミーprocateに表示するようにしています。
※ほかにも繰り返しのスイッチを入れてないノーマルのカスタムフィールド
・製品名・・・product_subtitle
等、複数個のカスタムフィールドを作っています。その上で、
https://qiita.com/chokosuki4400/items/cfd14c3c3caf2a13a34c
https://www.i-ryo.com/entry/2018/12/05/210617
こちらで紹介されている呼び出しを行っているのですが、
上手く呼び出すことができません。taxonomy-procate.phpでは
タームの情報を呼び出すために、<?php $term_idonly = get_queried_object_id(); $args = Array( 'include'=> $term_idonly, ); $terms = get_terms('info',$args); foreach ( $terms as $term ) : ?> <?php $term_id = $term; $taxonomy = 'info'; ?> <p> ▼タームタイトル<br> <?php echo esc_html( $term->name ); ?> </p> <p> ▼カスタムフィールド「製品名」<br> <?php echo esc_html( SCF::get_term_meta( $term_id, $taxonomy, 'product_subtitle' ) );?> </p> <?php endforeach; ?>
という形で呼び出しています。
おそらく回りくどい書き方で、どこか間違えている気がしますが、
http://test.com/product/info/term01/
を叩くと、タームタイトルと、製品名が呼び出されています。この中に、先のサイトで紹介されているグループの呼び出しのソースを
<?php endforeach; ?>の直前に配置したのですが<?php $cf_group = SCF::get('scf_group'); foreach ($cf_group as $field_name => $field_value ) { echo $field_value['scf_text']; } ?>
呼び出されません。
色々調べてみて<?php $repeat_group = SCF::get( 'scf_group' ); foreach ( $repeat_group as $fields ) { ?> <?php echo esc_html( $fields['scf_text'] ); ?> <?php } ?>
こちらも試しましたがダメでした。
開発者の方の
https://2inc.org/blog/2015/04/30/4790/
こちらの内容で<?php // 取得したいタームのID $term_id = '1'; // 取得したいタクソノミーの種類 category | post_tag | カスタムタクソノミー $taxonomy = 'info'; // 'カスタムフィールド名' のデータを表示 echo esc_html( SCF::get_term_meta( $term_id, $taxonomy, 'scf_text' ) ); ?>
と入れてみたら、Arrayが返ってきます。
ただ
<?php // 取得したいタームのID $term_id = '9'; // 取得したいタクソノミーの種類 category | post_tag | カスタムタクソノミー $taxonomy = 'info'; // 全てのメタデータを表示 var_dump( SCF::get_term_meta( $term_id, $taxonomy ) ); ?>
にすると、入っている項目がすべて見れますので、SCFで設定した内容については格納されており、問題ないと思われます。
どのようにしたら、タームに設置した繰り返しカスタムフィールドの内容を呼び出すことができるのでしょうか。ご教授頂けたら幸いです。
何卒よろしくお願いいたします。
- トピック「Smart Custom Fieldの繰り返しフィールドがtaxonomy-●.phpで動かない」には新たに返信することはできません。