1

我创建了一个自定义帖子类型,但它没有显示在 GraphiQL 资源管理器中。

function create_custom_visions_post_type() {
       register_post_type('visions',
                  array(
                      'labels' => array(
                        'name' => __('Visions'),
                        'singular_name' => __('Visions')
                  ),
                    'public' => true,
                    'show_in_admin_bar' => true,
                    'show_in_graphql' => true,
                    'graphql_single_name' => 'Vision',
                    'graphql_plural_name' => 'Visions',
));

}

根据 wp-graphql 文档,仅需要标志“show_in_graphql”、“graphql_single_name”和“graphql_plural_name”才能将自定义帖子类型公开给 graphql 模式。

我错过了什么?

4

3 回答 3

0

好吧,愚蠢的我,我忘了添加

{
  resolve: `gatsby-source-graphql`,
  options: {
    // This type will contain remote schema Query type
    typeName: `WPGraphQL`,
    // This is field under which it's accessible
    fieldName: `wpgraphql`,
    // Url to query from
    url: `blablabla.local/graphql`,
  },

到 gatsby-config.js

现在我的自定义帖子类型在 wpgraphql{} 中可用

于 2020-02-11T15:59:36.137 回答
0

确保在WPGraphQL初始化架构之前注册 CPT。您可以通过graphql_init像这样在挂钩中运行您的 CPT 注册代码来做到这一点。

function create_custom_visions_post_type() {
       register_post_type('visions',
                  array(
                      'labels' => array(
                        'name' => __('Visions'),
                        'singular_name' => __('Visions')
                  ),
                    'public' => true,
                    'show_in_admin_bar' => true,
                    'show_in_graphql' => true,
                    'graphql_single_name' => 'Vision',
                    'graphql_plural_name' => 'Visions',
));
add_action( 'graphql_init', 'create_custom_visions_post_type' );
于 2020-02-16T16:53:59.690 回答
0

可能有点无关,但我在试图弄清楚为什么我的使用流行插件“自定义帖子类型 UI”注册的自定义帖子类型没有出现在我的 GraphQL Schema 中时发现了这篇文章。我一直在弄乱插件代码,直到我注意到在自定义帖子类型 UI 的插件页面中,有一个复选框可以切换在每个编辑页面底部的 GraphQL 中包含 CPT CPTUI 中的自定义帖子类型。在此处输入图像描述

于 2022-01-01T17:43:52.777 回答