การ Query ข้อมูล WordPressบล็อก
บล็อก
อ่านเพิ่มเติมในคู่มือ การทำงานกับบล็อก (Gutenberg)
ต่อไปนี้เป็นตัวอย่าง queries สำหรับดึงข้อมูลบล็อก
การดึงบล็อกในโพสต์แบบกำหนดเองผ่านประเภท Block
การดึงข้อมูลของบล็อกทั้งหมดในโพสต์:
{
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
}
}
}
}
}
}
}
}การดึงเฉพาะบล็อกประเภทที่กำหนด:
{
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
}
}
}
}
}
}
}
}การยกเว้นบล็อก:
{
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
}
}
}
}
}
}
}
}การดึงข้อมูลบล็อกในโพสต์แบบกำหนดเองผ่านประเภท JSONObject
การดึงข้อมูลของบล็อกทั้งหมดในโพสต์:
{
posts(by: { id: 19 }) {
blockDataItems
}
}การดึงเฉพาะบล็อกประเภทที่กำหนด:
{
posts(by: { id: 19 }) {
blockDataItems(
filterBy: {
include: [
"core/heading",
"core/paragraph"
]
}
)
}
}การยกเว้นบล็อก:
{
posts(by: { id: 19 }) {
blockDataItems(
filterBy: {
exclude: [
"core/heading",
"core/paragraph"
]
}
)
}
}การดึงข้อมูลบล็อกแบบแบนราบในโพสต์แบบกำหนดเอง
ฟิลด์ blockFlattenedDataItems จะทำให้ลำดับชั้นของบล็อกที่อยู่ในโพสต์แบบกำหนดเองแบนราบเป็นระดับเดียว ดังนั้น การกรองตามประเภทบล็อกจะรวมถึงบล็อกภายในที่มีบล็อกแม่ซึ่งถูกยกเว้นด้วย
การดึงข้อมูลของบล็อกทั้งหมดในโพสต์:
{
posts(by: { id: 19 }) {
blockFlattenedDataItems
}
}การดึงเฉพาะบล็อกประเภทที่กำหนด:
{
posts(by: { id: 19 }) {
blockFlattenedDataItems(
filterBy: {
include: [
"core/heading",
"core/paragraph",
"core/columns",
"core/column"
]
}
)
}
}Prev
Next