Truy vấn dữ liệu WordPressBlocks
Blocks
Đọc thêm trong hướng dẫn Làm việc với các block (Gutenberg).
Đây là các ví dụ về queries để lấy dữ liệu block.
Lấy các block trong một custom post thông qua kiểu Block
Lấy dữ liệu của tất cả các block trong một bài viết:
{
post(by: { id: 19 }) {
blocks {
...BlockData
}
}
}
fragment BlockData on Block {
name
attributes
# innerHTML
contentSource
innerBlocks {
name
attributes
# innerHTML
contentSource
innerBlocks {
name
attributes
# innerHTML
contentSource
innerBlocks {
name
attributes
# innerHTML
contentSource
innerBlocks {
name
attributes
# innerHTML
contentSource
innerBlocks {
name
attributes
# innerHTML
contentSource
innerBlocks {
name
attributes
# innerHTML
contentSource
innerBlocks {
name
attributes
# innerHTML
contentSource
}
}
}
}
}
}
}
}Chỉ lấy các block thuộc một số loại nhất định:
{
post(by: { id: 19 }) {
blocks(
filterBy: {
include: [
"core/heading",
"core/paragraph"
]
}
) {
...BlockData
}
}
}
fragment BlockData on Block {
name
attributes
# innerHTML
contentSource
innerBlocks {
name
attributes
# innerHTML
contentSource
innerBlocks {
name
attributes
# innerHTML
contentSource
innerBlocks {
name
attributes
# innerHTML
contentSource
innerBlocks {
name
attributes
# innerHTML
contentSource
innerBlocks {
name
attributes
# innerHTML
contentSource
innerBlocks {
name
attributes
# innerHTML
contentSource
innerBlocks {
name
attributes
# innerHTML
contentSource
}
}
}
}
}
}
}
}Loại trừ các block:
{
post(by: { id: 19 }) {
blocks(
filterBy: {
exclude: [
"core/heading",
"core/paragraph"
]
}
) {
...BlockData
}
}
}
fragment BlockData on Block {
name
attributes
# innerHTML
contentSource
innerBlocks {
name
attributes
# innerHTML
contentSource
innerBlocks {
name
attributes
# innerHTML
contentSource
innerBlocks {
name
attributes
# innerHTML
contentSource
innerBlocks {
name
attributes
# innerHTML
contentSource
innerBlocks {
name
attributes
# innerHTML
contentSource
innerBlocks {
name
attributes
# innerHTML
contentSource
innerBlocks {
name
attributes
# innerHTML
contentSource
}
}
}
}
}
}
}
}Lấy dữ liệu block trong một custom post thông qua kiểu JSONObject
Lấy dữ liệu của tất cả các block trong một bài viết:
{
posts(by: { id: 19 }) {
blockDataItems
}
}Chỉ lấy các block thuộc một số loại nhất định:
{
posts(by: { id: 19 }) {
blockDataItems(
filterBy: {
include: [
"core/heading",
"core/paragraph"
]
}
)
}
}Loại trừ các block:
{
posts(by: { id: 19 }) {
blockDataItems(
filterBy: {
exclude: [
"core/heading",
"core/paragraph"
]
}
)
}
}Lấy dữ liệu block đã được làm phẳng trong một custom post
Trường blockFlattenedDataItems làm phẳng cấu trúc phân cấp block chứa trong custom post thành một cấp duy nhất. Khi đó, việc lọc theo loại block cũng sẽ bao gồm các inner block có block cha bị loại trừ.
Lấy dữ liệu của tất cả các block trong một bài viết:
{
posts(by: { id: 19 }) {
blockFlattenedDataItems
}
}Chỉ lấy các block thuộc một số loại nhất định:
{
posts(by: { id: 19 }) {
blockFlattenedDataItems(
filterBy: {
include: [
"core/heading",
"core/paragraph",
"core/columns",
"core/column"
]
}
)
}
}Next