如何在自定义帖子之间批量复制自定义域?

时间:2017-01-06 作者:Mohamed Omar

我有一个名为(服务)的CPT,它有一个名为(price)的自定义字段,还有一个自定义分类法,它有一个名为(catalog)的CPT,还有一个名为(price)的自定义字段。

这意味着目录帖子要有它的服务价格,我已经添加了服务价格。现在,我想批量将服务中的(价格)自定义字段复制到(目录)中的(价格)自定义字段,如何执行此操作?

值得一提的是,帖子的名字是一样的

1 个回复
SO网友:CodeMascot

你的问题很复杂。如果不进入你的系统,很难解决它。对于您的情况,我更愿意运行数据库查询,但它对我来说太复杂了。顺便说一下,我试着写一个简单的PHP 脚本-

function the_dramatist_get_post_by_title( $page_title, $post_type =\'post\' ) {
    global $wpdb;
    $post = $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM $wpdb->posts WHERE post_title = %s AND post_type= %s", $page_title, $post_type));
    if ( $post )
        return $post;

    return null;
}

function the_dramatist_bulk_copy_c_fields() {
    $c_posts = wp_list_pluck( get_posts(array(
        \'post_type\'=>\'catalog\',
        \'posts_per_page\' => -1
    )), \'ID\' );

    foreach($c_posts as $c){
        $title = get_the_title( $c );
        $s_id = the_dramatist_get_post_by_title( $title, \'services\');
        $meta_value = get_post_meta( $s_id, \'price\', true );
        add_post_meta( $c, \'price\', $meta_value );
    }
    return true;
}

add_action(\'init\', \'the_dramatist_bulk_copy_c_fields\');
仅运行脚本一次。我没有机会测试它。因此,请在生产中使用之前进行测试。

希望这有帮助。

相关推荐

如何让`wp-list-table`显示我在Custom-Post中的`Custom-Fields`

一切都好吗<我需要wp-list-table 也要显示custom-fields 在每个custom-post 我有,但我不知道如何做到这一点,在这幅图中,它显示了带有字段的表格:Title, Author and Publication Date: 我想要的是能够选择custom-fields 将出现,例如以下示例Title, Carta, Naipe, Author, and Date of Publication: