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:
1 2 3 4 5 6 | 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:
12345678
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