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

Posted

技术标签:

【中文标题】Wordpress rest API:如何附加 Post 对象的所有 ACF?【英文标题】:Wordpress rest API: How do I append all ACF of a Post Object? 【发布时间】:2021-10-08 12:48:54 【问题描述】:

我正在从事以下工作:

    用于前端开发的 Nuxt 2.15.7 Wordpress 5.8 彩管 1.9.2 高级自定义字段 PRO 5.9.9 ACF 到 REST API 3.3.2 ACF 到 REST API 递归此时已停用

情况:

我有两条 CPT 远足路线和地标,它们都有自定义字段。在 CPT Landmark 中,我试图从 Hiking Route 中提取数据作为发布对象,因此我可以显示自定义字段的详细信息,例如 Route 长度和 Route 颜色。但不幸的是,我只能获得没有任何自定义字段的通用帖子数据。 注意:我使用 nuxt 构建前端,所以我试图在 rest api 中得到结果。

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

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

提前谢谢你。

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

【问题讨论】:

【参考方案1】:

如果我了解您在寻找什么,我不久前遇到了这个问题并在这些方面添加了一些内容,您可能需要修改它但添加到函数文件中

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' );
        
    

【讨论】:

让我快速尝试一下。马上回来。 好先生,您解决了!!!我会给你一些赏金。谢谢!!!!!!! 很高兴我能帮上忙 :) 我似乎无法找到如何给你赏金,但我会更加努力。再次感谢您。

以上是关于Wordpress rest API:如何附加 Post 对象的所有 ACF?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 REST_API wordpress 创建用户?

Wordpress REST API:如何在 WP REST API JSON 文件中获取“纯文字”内容?

如何使用 Wordpress Rest Api 获取当前登录用户?

如何在 Wordpress rest_api_init 回调函数中传递参数

如何使用 WordPress REST API v2 搜索帖子?

如何从 API 调用附加到 WordPress 定制器中的选择框?