Wordpress REST API:如何附加 Post 对象的所有 ACF?

问题描述 投票:0回答:1

我正在处理以下内容:

  1. Nuxt 2.15.7 用于前端开发
  2. WordPress 5.8
  3. CPT 1.9.2
  4. 高级自定义字段 PRO 5.9.9
  5. ACF 到 REST API 3.3.2
  6. ACF 到 REST API 递归 此时已停用

情况:

我有两个 CPT 远足路线和地标,它们都有自定义字段。在 CPT Landmark 中,我尝试从徒步路线中提取数据作为帖子对象,这样我就可以显示路线长度和路线颜色等自定义字段的详细信息。但不幸的是,我只能获取没有任何自定义字段的通用帖子数据。 注意:我使用 nuxt 构建前端,所以我尝试在其余 api 中获取结果。

我尝试过使用和不使用 ACF 到 REST API 递归插件的各种解决方案。这里有一个非常足智多谋的线程 https://github.com/airesvsg/acf-to-rest-api/issues/109

如果有人准确解释我如何实现这一目标,我将非常感激。

提前谢谢您。

注意:如果您认为问题可以改进,请这样做。

php wordpress advanced-custom-fields wordpress-rest-api acfpro
1个回答
4
投票

如果我明白你在寻找什么,我不久前遇到了这个问题并添加了一些类似的内容,你可能需要修改它,但添加到函数文件中

add_filter( 'acf/rest_api/{post_type}/get_fields', function( $data ) {
  if ( ! empty( $data ) ) {
     array_walk_recursive( $data, 'get_fields_recursive' );
  }

  return $data;
} );

function get_fields_recursive( $item ) {
    if ( is_object( $item ) ) {
        $item->acf = array();
        if ( $fields = get_fields( $item ) ) {
            $item->acf = $fields;                   
            array_walk_recursive( $item->acf, 'get_fields_recursive' );
        }
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.