如何从主题 > 自定义添加数据到 WPGraphQL 架构?

问题描述

我将 wordpress 与 WPGraphQL 一起使用。在主题定制器中,我通过 wordpress$wp_customize->add_control 函数添加了一些输入。

如何将这些添加到 WPGraphQL Schema 以便我可以查询它们?

解决方法

WPGraphQL 具有函数 register_graphql_field,您可以将其与此结构一起使用。

在解析函数中,只需返回带有主题模组 ID 的 get_theme_mod。像这样:

add_action( 'graphql_register_types',function() {
  $field_config = [
    'type' => 'String','resolve' => function( $source,$args,$context,$info ) {
      return get_theme_mod('my_theme_mod');
    },];

  register_graphql_field( 'RootQuery','my_theme_mod',$field_config);
});

add_action 仅在使用 graphql 时执行此操作。

他们的文档网页中的更多信息:https://www.wpgraphql.com/2020/03/11/registering-graphql-fields-with-arguments/

感谢@xadm 的提示。