Пользовательские поля ACF WP GraphQL внезапно начинает возвращать значение null в Gatsby, хотя раньше это работало

#wordpress #graphql #gatsby #advanced-custom-fields

Вопрос:

Я использую WordPress в качестве безголовой CMS для управления контентом на моем сайте Gatsby. Я использовал расширенные настраиваемые поля для создания настраиваемых полей, чтобы легко управлять полями и содержимым для викария и включения в мое приложение Gatsby. Все работало нормально, пока я не решил начать свой проект «Гэтсби» не так давно и не начал получать null ошибки. Я зашел на страницу GraphQL на Гэтсби с этим адресом localhost:8000/___graphql , чтобы запросить там свои данные, только чтобы увидеть, что все мои поля теперь возвращаются null .

Я также посетил удаленную страницу wordpress, чтобы протестировать среду разработки GraphQL, но там все работает нормально. Я очистил кэш своего приложения Gatsby, но я все еще получаю ту же ошибку.

Вот пример такого запроса для пользовательского поля под названием homePage

 query MyQuery {
        wpPage {
          homePage {
            heroSubtitle
            heroTitle
            heroPlaystoreCtaText
            heroImage {
              localFile {
                childImageSharp {
                  gatsbyImageData(width: 614, height: 477, quality: 100, placeholder: BLURRED)
                }
              }
              altText
            }
          }
        }
      }  
 

Все эти поля возвращают значение null, хотя все они работали 7 часов назад. Самое непонятное, что тот же самый точный запрос работает, когда я решил выполнить запрос через allWpPage и nodes . Почему он работает здесь, а НЕ работает над конкретным WpPage запросом. Результат первого узла возвращает пустое значение, но второй узел возвращает правильные данные. Почему он вдруг перестал работать?

 query MyQuery {
  allWpPage {
    nodes {
      homePage {
        heroSubtitle
        heroTitle
        heroPlaystoreCtaText
        heroImage {
          localFile {
            childImageSharp {
              gatsbyImageData(width: 614, height: 477, quality: 100, placeholder: BLURRED)
            }
          }
          altText
        }
      }
    }
  }
}
 

Любая помощь будет признательна. Спасибо вам!!!.

Ответ №1:

Наконец я выяснил, что причина, по которой он не работал, заключалась в том, что я добавил новую страницу, которая переместилась вниз по домашней странице и заставила ее всегда возвращать значение null. Я изменил свой запрос на общий wpPages запрос и отфильтровал по / (Домашняя страница), что дало конкретные результаты для Домашней страницы. Вот запрос, который я использовал сейчас:

 query HeroQuery {
        hero: allWpPage(filter: {uri: {eq: "/"}}) {
          edges {
            node {
              homePage {
                heroSubtitle
                heroTitle
                heroPlaystoreCtaText
                heroImage {
                  localFile {
                    childImageSharp {
                      gatsbyImageData(width: 614, height: 477, quality: 100, placeholder: BLURRED)
                    }
                  }
                  altText
                }
              }
            }
          }
        }
      }