Невозможно запросить свойства для пользовательской таксономии из Wordpress в GraphQL - PullRequest
0 голосов
/ 28 сентября 2019

Я пытаюсь создать таксономию для своих постов в блоге, которая ведет себя так же, как таксономия по умолчанию "тэги" в Wordpress - вот код:

    function create_seo_taxonomy(){
    $labels = array(
      'name'              => _x( 'SEO Tags', 'taxonomy general name' ),
      'singular_name'     => _x( 'SEO Tag', 'taxonomy singular name' ),
      'search_items'      => __( 'Search SEO Tags' ),
      'all_items'         => __( 'All SEO Tags' ),
      'edit_item'         => __( 'Edit SEO Tag' ),
      'update_item'       => __( 'Update SEO Tag' ),
      'add_new_item'      => __( 'Add New SEO Tag' ),
      'menu_name'         => __( 'SEO Tag' ),
    );

    $args = array(
      'hierarchical'          => false,
      'public'                => true,
      'labels'                => $labels,
      'show_ui'               => true,
      'show_admin_column'     => true,
      'query_var'             => true,
      'rewrite'               => array( 'slug' => 'genre' ),
      'show_in_rest'          => true,
      'rest_base'             => 'seo_tags',
      'graphql_single_name'   => 'seo_tag',
      'graphql_plural_name'   => 'seo_tags',
      'rest_controller_class' => 'WP_REST_Terms_Controller',
    );
    register_taxonomy( 'seo_tag', array( 'blogpost' ), $args );
}

Моя проблема в том, что когда я пытаюсь сделать запросданные из GraphQL, в отличие от тегов, где я получаю кучу опций, т. е. какие свойства тегов в публикациях я бы хотел запросить (имя тега, слаг и т. д.).Моя текущая таксономия создает только один атрибут в моем настраиваемом типе поста ('blogpost'), который я могу проверить, после чего я получаю массив идентификаторов для каждого тега SEO, связанного с этим постом - это не то, что я хочу.Есть идеи, почему у меня такое поведение?Я не эксперт по WordPress, поэтому извините, если это очевидный упущение для некоторых.Следующий запрос должен помочь обрисовать проблему немного подробнее, как вы можете видеть, у меня нет возможности дополнительно определить мой запрос для «seo_tags», т.е. получить другие атрибуты, но я могу для «тегов»:

allWordpressWpBlogpost {
edges {
  node {
    seo_tags
    tags {
      id
      name
    }
  }
}
...