我正在将wordpress自定义字段转换为wp数据库中的单个array.我能做到,但我有重复的条目.我只需要一个.请 bootstrap 我.谢谢

Before running my code: enter image description here

After running my code: enter image description here

What I actually want: enter image description here

我的代码:

add_action( 'init', function() {
    if ( 'migrate' !== filter_input( INPUT_GET, 'action' ) ) {
        return;
    }
 
    $query = new WP_Query( [
        'posts_per_page' => -1,
        'post_type'      => 'post',
        'post_status'    => 'any',
    ] );
    if ( ! $query->have_posts() ) {
        return;
    }
 
    while ( $query->have_posts() ) {
        $query->the_post();
        
        $field_id_1 = 'gallery';
        $field_value_1 = get_post_meta( get_the_ID(), $field_id_1, false );
        
        update_post_meta( get_the_ID(), $field_id_1, $field_value_1);
    }
} );

推荐答案

add_action( 'init', function() {
    if ( 'migrate' !== filter_input( INPUT_GET, 'action' ) ) {
        return;
    }
 
    $query = new WP_Query( [
        'posts_per_page' => -1,
        'post_type'      => 'post',
        'post_status'    => 'any',
    ] );
    if ( ! $query->have_posts() ) {
        return;
    }
 
    while ( $query->have_posts() ) {
        $query->the_post();
        
        $field_id_1 = 'gallery';
        $field_value_1 = get_post_meta( get_the_ID(), $field_id_1, false );
        
        delete_post_meta( get_the_ID(), $field_id_1 );

        add_post_meta( get_the_ID(), $field_id_1, $field_value_1);

    }
} );

@Mulli我是这样工作的.我决定先删除post\u meta,然后添加post\u meta,而不是更新post\u meta.谢谢你的帮助!

Mysql相关问答推荐

是否有一种方法可以 Select 表中具有特定列值的行,该行还显示phpmyadmin中原始表中的行号?

为什么IN子句中有GROUP BY会导致查询变得不可执行?

如何改进对另一个表中多行的查询依赖性

如何跨多个产品查找相同时间范围的数据集

布尔值之间的 SQL less/greater 比较会产生意外结果

如何在 Shopware 6 DAL 中实施 Haversine 公式?

使用索引进行查询优化

如何获取每日登录用户数?

了解 Spring 和数据库级别的事务?

为什么一个 10 位的电话号码不能存储在长度为 10 的整数中?

MySql中的可见索引和不可见索引是什么

MySQL查询以获取日期范围内的租赁订单

MySQL UPDATE 锁会因为连续的 SHARE 锁而饿死吗?

MYSQL 或 Laravel Eloquent 如何从这个订单中统计细节

有什么方法可以显示`gunzip < database.sql.gz | 的进度? mysql ...`进程?

在 PHP/MySQL 中将日期时间存储为 UTC

将sql查询的结果写入mysql中的文件

MySQL与空值比较

如何从命令行调用带有参数的mysql存储过程?

数据截断:第 1 行的logo列数据太长