如何访问GraphQL的ACF关系字段中的自定义字段?

时间:2018-12-06 21:32:11

标签: wordpress graphql gatsby

我正在将Gatsby.js与WP API结合使用。通常,您可以使用GraphiQL来处理查询,自动完成功能将帮助回答此类问题。但是我认为该实用程序没有考虑此起始级别,或者我没有正确使用graphQL ...

  query workInnerPageQuery{
    wordpressPage(id: { eq: "e52ad032-9468-5826-9320-a22da5b1e0c9" }) {
      id
      title
      acf{
        case_studies{ // this is a relation field
          post_title
          post_name
          --- how do you get an ACF field here?
        }
      }
    }
  }

例如,我有一个自定义字段“字幕”。这不起作用...

  acf{
    case_studies{
      post_title
      post_name
      acf{
        subtitle
      }
    }
  }

帖子类型“ case_study”的acf字段被视为字幕,这是此特定页面上的一个关联项...如何访问ACF字段中的ACF字段?

还有其他人必须弄清楚吗?

1 个答案:

答案 0 :(得分:1)

证明我的Google技术很烂。这可以通过插件来实现: https://github.com/airesvsg/acf-to-rest-api-recursive

在您的wordpress网站上安装该插件,然后将其添加到您的功能文件中:

add_filter('acf/rest_api/recursive/types', function( $types ) {
  $types += array(
    'case_studies' => 'case_studies'
  );
    return $types;
} );

请记住,case_studies是我的帖子类型。显然,您需要将其添加到阵列中。

然后,您可以按预期在graphql中递归访问acf ...

  acf{
    case_studies{
      post_title
      post_name
      acf{
        subtitle
      }
    }
  }

我将删除此帖子,但我认为将其列在堆栈溢出中很有用。