我有一个带有关系字段的帖子类型。
events 有一个字段调用 event_organiser,它被设置为与组织者表的关系。
当我查询组织者的活动时,它返回一个组织者数组(仅存在数组元素 0。 我已将 ACF 上的验证设置为最小 1 最大 1,但它仍然返回单个元素数组。
get_field('event_organiser', $post_id)
我想用的是
get_field('event_organiser, $post_id)['post_title']
我要做的是
get_field('event_organiser, $post_id)[0]->post_title
当它应该只返回一个对象而不是一个数组时,我不喜欢强制 [0] 在那里。
我应该接受事实吗?
ACF 这样做是因为该字段支持多个帖子,因此最好有一个一致的返回类型。 如果需要,
acf/format_value
过滤器可用于解决这种情况(未经测试):
add_filter( 'acf/format_value/type=relationship', static function ( $value ) {
if ( ! is_array( $value ) ) {
return $value;
}
if ( count( $value ) > 1 ) {
return $value;
}
return array_pop( $value );
} );