カスタムフィールドは、通常の投稿(post)に追加しています。
<?php echo implode(‘, ‘, get_field(‘post-tag’)); ?>
このように書いた時には、タグのIDが表示されるのですが、タグの名前で表示されません。
ご教授お願いします。
こんにちは。
御質問の趣旨を詳しくお聞かせ頂きたいのですが、Advanced Custom Fields で post にフィールド「post-tag」を設定したのですよね?
そのフィールド「post-tag」に入力した値を表示したいという事なのでしょうか?
それと、フィールドタイプの「マルチセレクト」というのは Advanced Custom Fields で選択できるフィールドタイプ(テキストとか数値とかセレクトボックスとか選ぶところですよね)なのですか?
試したところ「マルチセレクト」という選択肢がなかったのですが。
taku-kさん
お返事ありがとうございます。仰るとおりです。
やはりフィールドタイプの設定は「Multi Select」になっています。
taku-kさん
もしかすると、有料add-onをインストールしているから表示されているのかもしれないです。
念の為 再度確認したのですが Multi Select なるものは選択肢としてはありませんでしたので、きっとadd-onなのだと思います。
フィールドタイプを「セレクトボックス」にして試したところ、kojimadaiさんが行った
<?php echo implode(', ', get_field('post-tag')); ?>
という方法で表示されました。(複数の値を選択し、全て表示されました)
そのadd-onの独自の表示方法があるのかと思います。
taku-kさん
ありがとうございます。
セレクトボックスが単一値なので、複数のタグが選択できなくなってしまうんですよね。。。
どうしたらいいものか・・・・。
フィールドタイプを設定する時に「複数の値を選べるか否か」みたいな項目があったと思います。
また、セレクトボックスを複数選ぶ場合には「Ctrlキー」を押しながらクリックすれば選べるかと。
常に複数選択されるならチェックボックスの方がよいかもしれません。
横からですが
「マルチセレクト」については
「フィールドタイプ*」を「タクソノミー」にすれば出てきます。
他、公式のドキュメントには目を通されましたか?
http://www.advancedcustomfields.com/resources/taxonomy/
出力に関してもひと通りサンプルが掲載さいれています
taku-kさん
gatespaceさん
ありがとうございます。
公式ドキュメントのサンプルも試したのですが、うまくいきませんでした。
<?php
$terms = get_field(‘post-tag’);
if( $terms ): ?>
<?php endif; ?>
このように書いたのですが、まったくダメのようです。
<?php
$terms = get_field('post-tag');
if( $terms ): ?>
<ul>
<?php foreach( $terms as $term ): ?>
<a href="<?php echo get_term_link( $term ); ?>">View all '<?php echo $term->name; ?>' posts</a>
<?php endforeach; ?>
</ul>
<?php endif; ?>
このように書いたのですが、まったくダメのようです。
<?php echo implode(‘, ‘, get_field(‘post-tag’)); ?>
このように書いた時には、タグのIDが表示されるのですが、タグの名前で表示されません。
ご教授お願いします。
とういうことは、IDは取得できてるんですね?
であれば、
<?php
$terms = get_field( 'post-tag' );
if( $terms ): ?>
<ul>
<?php foreach( $terms as $term_id ) :
$term = get_term( $term_id, 'post-tag' ); ?>
<a href="<?php echo get_term_link( $term_id ); ?>">View all '<?php echo esc_html( $term->name ); ?>' posts</a>
<?php endforeach; ?>
</ul>
<?php endif; ?>
上記のような形でどうでしょう?
ishihara takashiさん
ありがとうございます!
無事、解決いたしました。
アドバイス頂いた皆様、本当にありがとうございました!!