Truy vấn dữ liệu PluginSlim SEO
Slim SEO
Các ví dụ về queries để tương tác với dữ liệu từ plugin Slim SEO.
Lấy siêu dữ liệu SEO
Chúng ta có thể sử dụng các trường meta để truy vấn siêu dữ liệu SEO:
query GetPost($postId: ID!) {
post(by: { id: $postId }) {
id
title
slimSeoMeta: metaValue(key: "slim_seo")
metaTitle: _objectProperty(object: $__slimSeoMeta, by: { key: "title" }, failIfNonExistingKeyOrPath: false)
metaDesc: _objectProperty(object: $__slimSeoMeta, by: { key: "description" }, failIfNonExistingKeyOrPath: false)
fbImage: _objectProperty(object: $__slimSeoMeta, by: { key: "facebook_image" }, failIfNonExistingKeyOrPath: false)
twitterImage: _objectProperty(object: $__slimSeoMeta, by: { key: "twitter_image" }, failIfNonExistingKeyOrPath: false)
canonical: _objectProperty(object: $__slimSeoMeta, by: { key: "canonical" }, failIfNonExistingKeyOrPath: false)
}
}Cập nhật siêu dữ liệu SEO
Chúng ta có thể sử dụng các mutation meta để cập nhật siêu dữ liệu SEO:
mutation UpdatePost($postId: ID!) {
updateCustomPostMetas(inputs: [
{
id: $postId,
key: "slim_seo",
value: {
title: "New title",
description: "New description",
facebook_image: "https://example.com/social-image.jpg",
twitter_image: "https://example.com/social-image.jpg",
canonical: "https://example.com/canonical-url"
}
}
]) {
status
errors {
__typename
...on ErrorPayload {
message
}
}
customPost {
__typename
id
slimSeoMeta: metaValue(key: "slim_seo")
metaTitle: _objectProperty(object: $__slimSeoMeta, by: { key: "title" }, failIfNonExistingKeyOrPath: false)
metaDesc: _objectProperty(object: $__slimSeoMeta, by: { key: "description" }, failIfNonExistingKeyOrPath: false)
fbImage: _objectProperty(object: $__slimSeoMeta, by: { key: "facebook_image" }, failIfNonExistingKeyOrPath: false)
twitterImage: _objectProperty(object: $__slimSeoMeta, by: { key: "twitter_image" }, failIfNonExistingKeyOrPath: false)
canonical: _objectProperty(object: $__slimSeoMeta, by: { key: "canonical" }, failIfNonExistingKeyOrPath: false)
}
}
}Prev