将 wordpress 自定义字段转换为单个数组
Convert wordpress custom field into single array
我正在将 wordpress 自定义字段转换为 wp 数据库中的一个数组。我能够做到,但我有重复的条目。我只需要一个。请指导我。谢谢!
在运行之前我的代码:
运行之后我的代码:
其实我想要的是:
我的代码:
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);
}
} );
查看相关部分:
$first=true;
$field_id_1 = 'gallery';
while ( $query->have_posts() ) {
$query->the_post();
$field_value_1 = get_post_meta( get_the_ID(), $field_id_1, false );
if ($first){
update_post_meta( get_the_ID(), $field_id_1, $field_value_1);
$first = false;
else delete_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_meta,然后添加_post_meta,而不是更新 post_meta。感谢您的帮助!
我正在将 wordpress 自定义字段转换为 wp 数据库中的一个数组。我能够做到,但我有重复的条目。我只需要一个。请指导我。谢谢!
在运行之前我的代码:
运行之后我的代码:
其实我想要的是:
我的代码:
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);
}
} );
查看相关部分:
$first=true;
$field_id_1 = 'gallery';
while ( $query->have_posts() ) {
$query->the_post();
$field_value_1 = get_post_meta( get_the_ID(), $field_id_1, false );
if ($first){
update_post_meta( get_the_ID(), $field_id_1, $field_value_1);
$first = false;
else delete_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_meta,然后添加_post_meta,而不是更新 post_meta。感谢您的帮助!