arrays - Wordpress / PODS - 将关系字段中的数组项作为单个项回显
问题描述
在 PHP 编码方面,我是一个真正的 n00b,所以我希望你能为我澄清一些事情:)
我用 PODS 创建了一个投资组合,它创建了自定义的帖子类型和分类法。我想要实现的是:为每个帖子添加标签,将帖子所属的类别显示为图像。在我看来,使用现有数据而不是添加包含图像/值 -> CSS 的新字段是提高效率和责任的最佳方式。这将导致不必要的请求。
所以我所做的是添加一个关系字段(与自定义分类法相关)作为多选。最终这应该以类似的方式结束:
<span class="value1"></span>
<span class="value3"></span>
<span class="value6"></span>
在这种情况下,我可以使用 CSS(作为内容或背景)为其分配图像
我尝试了很多方法来将字段的内容作为单独的值输出,但我的知识是这方面的瓶颈,所以我希望有人愿意为我指明正确的方向。
这是我目前的代码:
<a href="<?php the_permalink(); ?>">
<h1 class="hentry__title"><?php the_title(); ?>
<?php $item_label = get_post_meta( get_the_ID(), 'item_label', false ); ?>
<?php if (!empty($item_label)):
foreach ( $item_label as $cat_single ) { ?>
<span class="item-label"><?php echo ($cat_single); ?></span>
<?php }
endif; ?>
</h1>
</a>
这给了我 2 倍的“数组”这个词,这看起来很有希望,因为我猜计数是正确的。但是当我查看数组的实际内容时,
<?php print_r ($item_label); ?>
我得到这个结果:
Array ( [0] => Array ( [term_id] => 93 [name] => Banners [slug] => banners [term_group] => 0 [term_taxonomy_id] => [taxonomy] => portfolio_categorie [description] => [parent] => 0 [count] => 0 [object_id] => [term_order] => [pod_item_id] => 93 ) [1] => Array ( [term_id] => 90 [name] => Websites [slug] => websites [term_group] => 0 [term_taxonomy_id] => 90 [taxonomy] => portfolio_categorie [description] => [parent] => 0 [count] => 2 [object_id] => 2414 [term_order] => 0 [pod_item_id] => 90 ) )
我不知道如何处理这些数据。我相信这里有人可以为我解答,所以我希望有人能帮助我!
最亲切的问候!
解决方案
乍一看,您似乎很接近了……只需要访问item_label
数组中的值即可。将您的echo
(在您的 for 循环内)语句更改为:
<?php echo $cat_single['name']; ?>