代码之家  ›  专栏  ›  技术社区  ›  Kai Qing

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

  •  2
  • Kai Qing  · 技术社区  · 6 年前

    我将Gatsby.js与wpapi一起使用。通常,您可以使用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?
            }
          }
        }
      }
    

    例如,我有一个自定义字段“subtitle”。这不管用。。。

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

    还有其他人必须弄明白吗?

    1 回复  |  直到 6 年前
        1
  •  2
  •   Kai Qing    6 年前

    结果证明我的谷歌技能很烂。这可以通过插件实现: 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;
    } );
    

    请记住,案例研究是我的帖子类型。显然,您需要将自己的添加到数组中。

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

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

    我想删除这篇文章,但我认为把它列在堆栈溢出上是有用的。