【问题标题】:Wordpress rest API: How do I append all ACF of a Post Object?Wordpress rest API:如何附加 Post 对象的所有 ACF?
【发布时间】:2023-03-19 18:39:01
【问题描述】:

我正在从事以下工作:

  1. 用于前端开发的 Nuxt 2.15.7
  2. Wordpress 5.8
  3. 彩管 1.9.2
  4. 高级自定义字段 PRO 5.9.9
  5. ACF 到 REST API 3.3.2
  6. 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

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

提前谢谢你。

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

【问题讨论】:

    标签: wordpress advanced-custom-fields wordpress-rest-api acfpro


    【解决方案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' );
            }
        }
    }
    

    【讨论】:

    • 让我快速尝试一下。马上回来。
    • 好先生,您解决了!!!我会给你一些赏金。谢谢!!!!!!!
    • 很高兴我能帮上忙 :)
    • 我似乎无法找到如何给你赏金,但我会更加努力。再次感谢您。
    猜你喜欢
    • 2017-09-12
    • 2023-03-15
    • 1970-01-01
    • 2021-12-12
    • 2021-05-17
    • 2019-10-21
    • 2015-06-28
    • 2019-09-19
    相关资源
    最近更新 更多