【发布时间】:2012-10-19 02:33:10
【问题描述】:
<?php $terms = wp_get_post_terms($post->ID,'category');
foreach ($terms as $term) {
$termcomp = $term->taxonomy . '_' . $term->term_id; } ?>
<?php the_field('tagline' , $termcomp); ?>
如何在 wordpress 上使用此代码而不回显 6 次,因为我在该类别中有 6 个帖子..
完整的页面模板在那里,foreach也在底部,这个工作正常,只根据需要输出一次。
【问题讨论】:
-
这将是预期的行为...如果
Loop中有 6 个帖子,那么您预计标签会发布 6 次。请注意,这些术语是使用$post->ID获取的,它特定于每个循环加载的$post。 -
我可以使用其他方法获取条款吗?
-
哪些条款?这些术语特定于帖子,在循环的每次迭代中都会发生变化,听起来你只是碰巧在每个帖子上都有相同的术语。你能举例说明你看到的输出和你想要什么吗?
-
我认为这里可能存在一些混淆......自定义字段是帖子上的元字段,而术语/标签是应用于帖子的分类法(这就是调用该函数的原因
wp_get_post_terms并将$post_ID作为参数)。两者都不适用于类别,因为并非一个类别中的所有帖子都保证具有相同的元字段或术语。您可以只显示第一个帖子的条款,或者适用于所有帖子的所有条款...是您要查找的内容吗? -
我认为这不是正确的图像... ACF 只是发布元数据的包装器... 它不适用于类别。
the_field()要么使用当前的$post_ID,要么将另一个帖子的 ID 作为第二个参数。
标签: wordpress foreach custom-post-type