Resolved
Reported for: WPML GraphQL 1.0.0
Overview of the issue
When using GraphQL and utilizing a query similar to the following to retrieve Custom Post Types by slug, you will discover that it functions only for the posts in the default language:
query getArticlesByslug { article(id: "your-slug-goes-here", idType: SLUG) { title content } }
Workaround
Please, make sure of having a full backup of your site before proceeding.
- Open your theme’s functions.php file.
- Add this code:
add_filter('request', function($vars){ if ( is_graphql_http_request() && !empty($vars['name']) ) { $vars['suppress_filters'] = true; } return $vars; });
Just a note, this is not only for Custom Post Type but also for posts and pages.
Thank you for the clarification, Sebastien.
Yes, at the moment, I can not get posts or pages from a specific URI, only original language works
This workaround fixes SLUG issue, but not URI
Thank you for your report, Pavel. In that case, please open a chat in our support channel, in that way one of our specialists may be able to help you better.
Regards
We are are also experiencing this problem.
We have a custom post type called “Teacher” – the URI for a specific teacher is “/underviser/karsten-lund/” in danish, and “/en/teacher/karsten-lund/” in english.
When i query the contentNode by using:
contentNode(id: “/underviser/karsten-lund/”, idType: URI) {
id
}
I get the expected teacher
But if i query:
contentNode(id: “/en/teacher/karsten-lund/”, idType: URI) {
id
}
I get null.
If the workaround here provided doesn’t work for your case, please open a chat in our assistance channel.
We have the require tools for investigating your case there.
Hi Andrés and WPML team,
The workaround work for me but I got another problem:
Below is my current query:
“`
query GetPostBySlug($slug: ID!) {
post(id: $slug, idType: URI) {
title
}
}
“`
When I’m querying with second language, I got the same result:
“`
query GetPostBySlug {
post(id: “/vi/hello-world/”, idType: URI) {
title
}
}
“`
Result:
“`
“data”: {
“post”: {
“title”: “The journey has just started!”
}
}
“`
Expeceted result:
“`
“data”: {
“post”: {
“title”: “Hanh trinh moi bat dau”
}
}
“`
Hello Dat,
Could you please open a chat in our support channel, in that way one of our specialists may be able to help you better.
Regards