更改默认的WordPress数据库表更新安全吗?

时间:2013-08-27 作者:Roman

我想将一些表列添加到wp_terms 桌子使用dbDelta 具有修改的CREATE-MySQL查询这个?还是我会在长期内遇到问题?更新是否安全?

作为一名数据库新手,我希望有更多经验的人能在这里帮助我。

背景对于我目前正在开发的插件,我需要向分类术语中添加一些元数据。第一件事是排序号,第二件事是术语的类型。两者都用于对前端的帖子进行排序。

在WordPress抄本中我找到了行动挂钩{taxonomy}_add_form_fields{taxonomy}_edit_form_fields 为此,不幸的是,这些将元数据保存在wp_options 表作为序列化数组。也许可以使用WHERE REGEXP 语法来查询正确的选项,但这似乎很慢而且有点粗糙。

性能在项目中很重要(分配给大量分类术语的大量帖子),因此我正在寻找一种直接在数据库层对结果集进行排序和排序的方法。

提前谢谢阿曼

1 个回复
最合适的回答,由SO网友:s_ha_dum 整理而成

dbDelta 是松鼠。有些事情会改变,有些事情不会。例如,如果我没记错的话,可以向表中添加索引,但不能更改或删除这些索引。我真的不知道它是否会删除表列。(我猜不会,但我可能稍后再测试。)

尽管如此,我不会做像向核心表中添加数据列那样重要的事情。即使dbDelta 如果不考虑这些列,WordPress可能(请-请-请)最终会采用更灵活的数据库工具,这可能会删除您的列。不要这样做。

如果无法使用选项表、Posteta表或其他表,请为分类创建自己的元表。WordPress和dbDelta 就不用管它了。当然,您必须处理SQL才能检索到该数据,但无论如何,您都必须这样做。

结束

相关推荐

使用GET_TERMS获取POST_TAG,但仅限于分类

所以我想按计数获得前5个post\\u标签。但我有一个额外的分类法,用于进一步组织名为Issue的帖子。因此,我希望能够获得特定分类法中帖子使用的前5个帖子标签。我目前可以通过计算系统范围内的前5个帖子标签,这不是问题。$taxonomies = array( \'post_tag\' ); $args = array( \'orderby\' => \'count\', \'order\' =