私はいくつかのカスタムフィールドを自分のイメージメタデータに追加し、元のメタデータフィールド(イメージ、キャプション、代替テキスト)を隠しました。だから私の新しいカスタムフィールドはタイトル、説明、寸法です。ACFフィールドが表示されません
ACFのようなだった前マイテンプレート:ACFフィールドを追加した後、私はこれにタイトル、descと薄暗いフィールドを変更し
<?php if (is_single()) : ?>
<h1><?php the_title(); ?></h1>
<?php else : ?>
<h1>
<a href="<?php the_permalink(); ?>" rel="bookmark"><?php the_title(); ?></a>
</h1>
<?php endif; // is_single() ?>
<h3><?php ffm_artists(); ?></h3>
<h3><?php date_range(); ?></h3>
<?php if (has_post_thumbnail() && ! post_password_required()) : ?>
<div class="entry-thumbnail">
<a href="<?php the_permalink(); ?>" rel="bookmark"><?php the_post_thumbnail("large"); ?></a>
</div>
<?php endif;
the_content('Read more...');
$images = get_field('images'); if($images):
foreach($images as $image): ?>
<figure>
<a href="<?php echo $image['url']; ?>"><img src="<?php echo $image['url']; ?>" alt="<?php echo $image['alt']; ?>" /></a>
<figcaption>
<?php if($image['title'] !== '') { echo $image['title'], '<br />'; }?>
<?php if($image['caption'] !== '') { echo $image['caption'], '<br />'; }?>
<?php if($image['description'] !== '') { echo $image['description']; }?>
</figcaption>
</figure>
<?php endforeach; ?>
<?php endif; ?>
:
foreach($images as $image): ?>
<figure>
<a href="<?php echo $image['url']; ?>"><img src="<?php echo $image['url']; ?>" alt="<?php echo $image['alt']; ?>" /></a>
<figcaption>
<p><?php the_field('title'); ?></p>
<p><?php the_field('description'); ?></p>
<p><?php the_field('dimensions'); ?></p>
</figcaption>
</figure>
<?php endforeach; ?>
<?php endif; ?>
今、私のコードだけで出力しています空白<p><\p>
ここで、Title、Desc、およびDimsフィールドの中にテキストがあることがわかります。何かご意見は?
ありがとうございます。私はイメージのIDを知らないが、これらはループを経て実行される。正確なIDを指定せずに、ループ内のImageの現在のIDだけを呼び出す方法はありますか? – antonanton
@antonantonループを実行するために 'get_field( 'images')'を使っていますよね? ACFがそれぞれのイメージオブジェクトを返すように設定されている限り、 'id'は' $ image ['id'] 'のようになるはずです。そうでなければ、ループの中で 'print_r($ image)'を実行するとどうなりますか? –
ああ私は、まあまあうまくいっていることが分かる。ありがとうございました! – antonanton