首页 > 解决方案 > 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 ) ) 

我不知道如何处理这些数据。我相信这里有人可以为我解答,所以我希望有人能帮助我!

最亲切的问候!

标签: arrayswordpressfield

解决方案


乍一看,您似乎很接近了……只需要访问item_label数组中的值即可。将您的echo(在您的 for 循环内)语句更改为:

<?php echo $cat_single['name']; ?>

推荐阅读