如何创建和使用自定义数据/表(例如,用于任意数据)?

时间:2012-09-23 作者:boardbite

今天刚刚开始使用Wordpress。我注意到,在我第一次设置mySql数据库时,Wordpress在mySql数据库中创建了表(名称为*.wrdp1)。这些表包括评论、帖子、用户和一些链接关系。

现在,假设我想使用一组新的数据。假设我要创建一个包含两个内容的页面:

我的用户可以在文本字段中输入1到10之间的数字,图表显示用户历史上输入数字的频率a custom table/data-set in the database, 这样就可以写入然后读取该数字数据。(我还猜测我将不得不使用一些PHP,以便将文本字段中的数字存储到数据库中,然后再读取这些数字。)

Can someone outline what a recommended approach in this case would be, roughly? (之后我可以自己研究确切的细节。)

2 个回复
最合适的回答,由SO网友:Tomas Buteler 整理而成

WordPress有一种非常灵活的方式来处理自定义数据,它将其存储在一个名为wp\\u posmeta的表中(假设默认的wp\\uprefix)。唯一需要注意的是,它假设它会以某种方式与某个帖子相关,我不确定你是否真的想这样做。

它的使用非常简单(请参见here 有关详细信息):

// Add a custom data (i.e. textfield of value \'5\') for post ID = 1
update_post_meta(1, \'my_textfield\', 5);

// Return an array which contains \'my_textfield\' values from post ID = 1
get_post_meta(1, \'my_textfield\', true);
如果信息与帖子无关,而是与用户相关,那么还可以利用wp\\u usermeta表。想法是一样的(参见here 更多信息):

// Add a custom data (i.e. textfield of value \'5\') for to user 1
update_user_meta(1, \'my_textfield\', 5);

// Return an array which contains \'my_textfield\' values for user 1
get_user_meta(1, \'my_textfield\', true);
创建自定义表应该是万不得已的选择,并且仅在您要存储的自定义信息具有多个值时使用(即,您需要知道用户选择的数字、记录的时间、该用户的IP等)。在这种情况下,您需要编写自己的函数来向该表添加值,更不用说将首先创建该表的PHP代码了。更复杂的是,以前做过的任何人都会证明这是一件微妙的事情,很难调试,而且也不能保证它在未来的WordPress版本中不会被破坏。不管怎样,如果这是你需要的,this 应该会让你走的。

希望有帮助!让我们知道进展如何。

SO网友:Milo

要添加到@tbuteler的答案中,您还需要Custom Post Types 它们可以有自己的关联元数据。如果你看看Post Types 第页,您将看到WordPress如何以一些不明显的方式使用这些功能,例如存储导航菜单项。还有Custom Taxonomies 可用于创建内置类别和标记等关系。与元数据一样,有一整套API函数来管理这些对象,允许您构建自己的UI来管理数据。

结束

相关推荐

强制将Single.php重定向到索引

我想对single进行强制重定向。php索引,这样就永远无法通过直接访问访问它(网站的构建方式是检索索引页面上的所有内容,但由于ajax功能,仍然需要此页面可用)。我想这是在。htaccess?编辑:我需要能够访问单曲。php通过来自索引页的ajax请求进行重定向,也就是说,重定向应该只在直接访问url时发生。