GraphQL Где предложение с логическим значением не работает (wpgraphql) - PullRequest
0 голосов
/ 10 апреля 2019

Я использую GraphQL в Wordpress как API с этим плагином: https://docs.wpgraphql.com/getting-started/custom-fields-and-meta Я создал настраиваемое поле и хочу использовать условие where для логического атрибута, но я получаю все записи, даже те, которые не соответствуют моему предложению where

Мой запрос выглядит так:

    query pagesInMenu {
 pages(where: { menu: true }) {
    edges {
      node {
        id
        menu
        title
      }
    }
  }
}

И я получаю записи, где menu = false и menu = true ... Это настраиваемое поле, добавленное через код PHP ниже:

function registerMenu($type) {
    register_graphql_field( $type, 'menu', [
        'type' => 'Boolean',
        'description' => __( 'Is in menu?', 'wp-graphql' ),
        'resolve' => function( $post ) {
            $menu = get_post_meta( $post->ID, 'menu', true );
            return ! empty( $menu ) ? ($menu == "true") : false;
        }
    ] );
}

add_action( 'graphql_register_types', registerMenu('Page') );
add_action( 'graphql_register_types', registerMenu('RootQueryToPageConnectionWhereArgs') );
...