mysql - WordPress 添加自定义列

标签 mysql database wordpress post

我需要在 WordPress 帖子表中添加一列。该列将包含数值,以便我可以对按该字段排序的行进行非常简单的查询。到目前为止,这些值已保存为帖子元数据,但我需要将它们保存在帖子表中,以便我可以按该字段对帖子进行排序。

我知道我可以在 post_meta 表上调用查询并按值对行进行排序,然后通过 post_ID 获取帖子。但是,通过这种方式,无论何时我进行搜索,具有相同值的帖子都不会按字母顺序排序,而只会按 post_meta_ID 排序。

所以我的问题是:如果我在 wp_posts 表中添加一列,它会在下一次 WordPress 更新时被删除/编辑吗?有办法让它永久化或用 Wordpress 更新它吗?

最佳答案

不,即使更新核心,您的自定义列也将保持不变。更新只会影响默认表和列,不会影响自定义表和列。

要添加您的自定义列,您可以使用下面的代码,它只会在它不存在时添加它。

$myPosts = $wpdb->get_row("SELECT * FROM wp_posts");
//Add column if not present.
if(!isset($myPosts->my_custom_posts_column)){
    $wpdb->query("ALTER TABLE wp_posts ADD my_custom_posts_column INT(1)");
}

( Source )

关于mysql - WordPress 添加自定义列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32965642/

相关文章:

php - 需要清除session值,session值不能带入另一个页面

mysql - 从左连接获取一行

database - Postgresql:如果 View 被修改通知

sql - 获取包含特定表名的所有模式的列表

javascript - 如何创建一个表单,单击时输入中的文本会消失? (用于饲料燃烧器形式)

wordpress - 如何从 header.php 文件中获取页面 ID

php - 结帐时从 Woocommerce 产品属性中删除单词

php - 如何在php中回显sql数据库中的指定数据

mysql - 创建具有相对日期的 MYSQL 查询

mysql - 如何计算 MySQL 中的每日可用时间?