通过中继器获取自定义 post 类型字段
Get custom post type fields through a repeater
我在一个 WP 项目中。我创建了一个名为 Team Members
的自定义 post 类型
我还创建了一个自定义字段块,其中包含一个名为 contact_members
的字段,它是一个转发器,并且有两个名为 location_map
和 member
的子字段。此 member
子字段与自定义 post 类型相关 team member
。
我对获得 location_map
没有任何问题。
问题是我无法获取 post 类型字段。 (来自 contact_members->成员->post 类型
<?php
$members = get_field('contact_members');
?>
@foreach($members as $member)
<div class="member {{ $member['location_map'] }}">
<img class="map" src="{{ get_the_post_thumbnail_url($member['member']->ID) }}">
<h3>{{ get_the_title($member['member']->ID) }}</h3>
<p class="position">{{ $member['member']->position }}</p>
<p class="location">{{ $member['member']->location }}</p>
<a href="#">Contact</a>
</div>
@endforeach
乍一看,我看不出您的代码有任何问题。我认为最可能的情况是(因为我猜你正在使用 ACF 插件)$member['meber'] 变量保存 (int) post_id 而不是 Post 对象.你试过 var_dump() 了吗?
干杯!
我找到了答案,我应该把 [0] 放在 $member['member'] 之后,以便到达数组的第一个元素,然后我终于可以从对象中找到我想要的东西,所以:
<?php $members = get_field('contact_members'); ?>
@foreach($members as $member)
<div class="member {{ $member['location_map'] }}">
<img class="member-image" src="{{ get_the_post_thumbnail_url($member['member'][0]->ID) }}">
<h3 class="member-name">{{ $member['member'][0]->post_title }}</h3>
<p class="position">{{ $member['member'][0]->position }}</p>
<p class="location">{{ $member['member'][0]->location }}</p>
<a href="#">Contact</a>
</div>
@endforeach
我在一个 WP 项目中。我创建了一个名为 Team Members
的自定义 post 类型
我还创建了一个自定义字段块,其中包含一个名为 contact_members
的字段,它是一个转发器,并且有两个名为 location_map
和 member
的子字段。此 member
子字段与自定义 post 类型相关 team member
。
我对获得 location_map
没有任何问题。
问题是我无法获取 post 类型字段。 (来自 contact_members->成员->post 类型
<?php
$members = get_field('contact_members');
?>
@foreach($members as $member)
<div class="member {{ $member['location_map'] }}">
<img class="map" src="{{ get_the_post_thumbnail_url($member['member']->ID) }}">
<h3>{{ get_the_title($member['member']->ID) }}</h3>
<p class="position">{{ $member['member']->position }}</p>
<p class="location">{{ $member['member']->location }}</p>
<a href="#">Contact</a>
</div>
@endforeach
乍一看,我看不出您的代码有任何问题。我认为最可能的情况是(因为我猜你正在使用 ACF 插件)$member['meber'] 变量保存 (int) post_id 而不是 Post 对象.你试过 var_dump() 了吗?
干杯!
我找到了答案,我应该把 [0] 放在 $member['member'] 之后,以便到达数组的第一个元素,然后我终于可以从对象中找到我想要的东西,所以:
<?php $members = get_field('contact_members'); ?>
@foreach($members as $member)
<div class="member {{ $member['location_map'] }}">
<img class="member-image" src="{{ get_the_post_thumbnail_url($member['member'][0]->ID) }}">
<h3 class="member-name">{{ $member['member'][0]->post_title }}</h3>
<p class="position">{{ $member['member'][0]->position }}</p>
<p class="location">{{ $member['member'][0]->location }}</p>
<a href="#">Contact</a>
</div>
@endforeach