0

我正在为当前的项目大量使用 WordPress。我将用户输入的数据存储到两个自定义数据库表中(尽管仍在 wp 数据库中)。

除了我需要收集的信息外,我还将它们保存wp user id到数据库中。我已经生成了一个我希望每个用户都能够访问的 URL,以查看他们输入的结果。这个 URL 的结构很简单 http: // domainname//usernamesearchname

现在很明显,我可以将其输出为 URL 并且可以单击,但 WordPress 显然只是吐出 404 模板。

在能够访问此链接并根据模板吐出数据方面,我有点需要模拟帖子页面所具有的相同功能。

我意识到自定义帖子类型听起来非常适合这种事情。但是我需要用户能够从前端提交数据,我不确定自定义帖子类型是否可行?

4

2 回答 2

3

我认为 WP_Rewrite 类是你正在寻找的:

WP_Rewrite 是 WordPress 的类,用于管理允许您使用 Pretty Permalinks 功能的重写规则。它有几种方法可以从数据库中的值生成重写规则。它在更新重写规则时在内部使用,也用于查找特定帖子、页面、类别存档等的 URL。

它的文档页面中有几个示例。有关更多动手教程,请查看此博客文章

于 2013-04-22T15:50:14.183 回答
2

从我目前所读到的内容来看,使用自定义数据库表应该保留在默认工具无法处理任务的情况下。

默认工具的好处是您不必创建自定义功能(以及随之而来的所有细节)来搜索、操作和显示数据。

您可以有一个名为 的 CPT User Feedback,配置为hierarchical,每个父帖子对应一个用户,子帖子将是用户输入数据。
或者它可能是非分层的,自定义分类法将在帖子和用户之间架起一座桥梁。

在前端提交后,您只需wp_insert_post将信息作为帖子类型(如果需要使用标题和内容作为保存字段)及其关联的元数据(其他字段)添加到数据库中。

如果您将 CPTsupports参数设置为false,它不会在编辑屏幕中显示任何内容,而是在Publish元框中显示任何内容。并且所有作为元数据存储的提交信息都可以通过自定义元框显示。

完成此设置后,如果您需要微调 URL,是时候使用WP_Rewrite.

一般而言1,这就是JetPack 管理其联系表中的反馈的方式。

1检查代码,实际上使用了一些有趣的技术,值得复制。


相关帖子

于 2013-04-23T13:13:49.643 回答