wordpress: wp-graphql не работает с пользовательским типом записи - PullRequest
1 голос
/ 11 февраля 2020

Я создал пользовательский тип записи, который, однако, не отображается в обозревателе 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.

Что мне не хватает?

Ответы [ 2 ]

0 голосов
/ 16 февраля 2020

Убедитесь, что вы регистрируете свой CPT, прежде чем WPGraphQL инициализирует схему. Вы можете сделать это, запустив свой регистрационный код CPT в graphql_init хуках, как это.

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' );
0 голосов
/ 11 февраля 2020

ок, глупый, я забыл добавить

{
  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 {}

...