【问题标题】:Trying to understand database schema, particular WordPress Comments试图了解数据库架构,特别是 WordPress 评论
【发布时间】:2017-11-23 10:11:22
【问题描述】:

我无法完全理解 WordPress cmets 和 commentmeta 表的架构,以及它们是如何链接在一起的。

我想通过在每个表中创建一个自定义行来学习(wp_commentmeta 和 wp_cmets)。

WordPress Database Schema

以下是我正在使用的示例。

wp_commentmeta:

meta_id  | comment_id | meta_key | meta_value

  2         1352        verified      1

wp_commentmeta 表中的 meta_value 表示什么?这是 0-5 的评分系统,还是类似的?

wp_cmets

comment_ID | comment_post_ID | misc_cols --- | user_id

2,1352,Waldo,test@test.com,"",127.0.0.1,2014-11-15 00:18:39,2014-11-15 04:18:39,"test comment",0,1,"user_agent","",0,657

comment_type 是一个空字段,倒数第三个。我只是尝试在那里添加“评论”,没有运气。

评论确实显示在后端和产品页面上,但产品页面显示“评论 (0)”。评论不计入产品页面。

请您向我解释一下好吗?

【问题讨论】:

  • 元值用于同一字段中的 Meta_Key 列。所以在这种情况下。它的键是:verified,值是1,表示是,这条评论已经过验证,不确定WP核心是使用这个键/值对还是某个插件使用了..
  • WP 元表遵循相同的方案,即您可以存储任意数量的不同类型的字段,而不是添加更多以行结尾的列。所以 meta_key 就像传统表中的 column_name,而 meta_value 是单元格该/列/行的值...

标签: php mysql sql wordpress


【解决方案1】:

postmeta 表中的meta_value 与类型无关。该数据代表什么取决于存储它的插件/功能以及它希望它意味着什么。您可以存储整数、日期、字符串或 PHP 数据结构,WordPress 不关心,并将它们全部存储为内部字符串。在您的情况下,我猜测 1 表示用户已通过验证,0、NULL 或无行表示用户未通过验证。

comment_type 类似于 post_type。如果您想添加一种特殊类型的评论(在您的情况下是评论),您必须弄清楚您使用的软件预期为 comment_type。看看现有的评论,他们设置了什么comment_type?

【讨论】:

    【解决方案2】:

    为了让评论显示计数,我必须导航到 cmets、编辑评论并更新评论(没有更改字段)。也许需要重新加载 HTTP 服务器,或者 WooCommerce 需要以某种方式重新加载。

    【讨论】:

      猜你喜欢
      • 2018-08-13
      • 1970-01-01
      • 2019-07-31
      • 1970-01-01
      • 1970-01-01
      • 2012-08-23
      • 2018-09-25
      • 1970-01-01
      • 2010-11-17
      相关资源
      最近更新 更多