首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在wordpress模式文件中获取postId?

在wordpress模式文件中获取postId?
EN

WordPress Development用户
提问于 2022-12-25 15:52:44
回答 2查看 278关注 0票数 1

如何在模式中获取post数据或post Id?

我创建了以下模式文件:

代码语言:javascript
运行
复制
Some Button leading to a post
EN

回答 2

WordPress Development用户

回答已采纳

发布于 2022-12-30 13:47:08

在块主题中,模式将无法访问上下文,如id:https://developer.wordpress.org/block-editor/reference-guides/block-api/block-patterns

必须创建一个自定义块来获取post id,并使用useSelect钩子获取post Id,如下所示:import { useSelect } from "@wordpress/data";

..。内部编辑块功能:

const postId = useSelect(select => select('core/editor').getCurrentPostId());

然后,postId可以在编辑函数中使用,如果它必须用于保存函数,则应该在编辑内部使用useEffect来存储id,如下所示:

代码语言:javascript
运行
复制
useEffect(() => { 
  if (postId) {
    setAttributes({postId})
  }, [postId]);

如果在postId中定义了block.json属性,则可以在save或render_callback中获取和使用该属性。

票数 1
EN

WordPress Development用户

发布于 2022-12-26 07:01:54

您可以使用get_the_ID()https://developer.wordpress.org/reference/functions/get_这个_身份证/

文件说明:

检索WordPress循环中当前项的ID。

代码语言:javascript
运行
复制
票数 -1
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/412339

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档