【问题标题】:copy an existing meta_value to a new meta_key name - WordPress将现有的 meta_value 复制到新的 meta_key 名称 - WordPress
【发布时间】:2019-04-25 21:57:51
【问题描述】:

我正在尝试将 meta_key 和相应的 meta_value 复制到 wp_postmeta 表中的新行,其中 meta_key 获得一个新名称,但使用原始 meta_value

我可以使用 MySQL 复制一篇文章,但这需要为超过 300 篇文章完成,因此必须有一种方法可以在语句中执行此操作。

给出的例子: meta_key:邮政编码 元值:1234AA 需要复制到对应的post id到 meta_key:wpcf-adres 元值:1234AA

我尝试过: 更新 wp_postmeta 设置 meta_key = 'postalCode' where meta_key = 'wpcf-adres'

但是,这当然不会复制并保留原始的 meta_key,而只是重命名它。

希望有人能指引我正确的方向。

非常感谢您的调查。

亲切的问候

维姆

update wp_postmeta  set meta_key = 'postalCode'  where meta_key = 'wpcf-adres'

【问题讨论】:

    标签: php sql wordpress


    【解决方案1】:

    这不是我的代码,我之前保存了它,但它可能是你想要的。根据需要切换键。

     <?php
     // HOOK ON REGISTERING NEW USER/CUSTOMER
     add_action('user_register', 'mm_sync_phone_number' , 20, 1);    
     // HOOK ON PERSONAL OPTIONS UPDATE
     add_action('personal_options_update', 'mm_sync_phone_number' , 20, 1);
     // HOOK ON USER PROFILE UPDATE    
     add_action('edit_user_profile_update','mm_sync_phone_number' , 20, 1); 
     function mm_sync_phone_number( $user_id ) { 
     // GET PHONE NUMBER FROM OTHER FIELD
         $phone_number = get_user_meta( $customer_id, 'meta_key_of_other_phone_field', true );
     // UPDATE PHONE NUMBER IN BILLING PHONE NUMBER FIELD
     update_user_meta( $user_id, 'billing_phone',  $phone_number ); 
     }
     ?>
    

    【讨论】:

    • 您好,感谢您的回答,我刚刚尝试将代码调整为下面的代码,但这似乎没有任何作用,所以我想我仍然缺少什么? function sync_postalcode( $post_id ) { // GET Postal code FROM OTHER FIELD $postcode = get_post_meta( $post_id, 'postalCode', true); // UPDATE Postalcode IN adres FIELD update_post_meta( $post_id, 'wpcf-adres', $postcode ); } add_action( 'save_post', 'sync_postalcode' );
    猜你喜欢
    • 2019-11-06
    • 1970-01-01
    • 1970-01-01
    • 2018-08-24
    • 2020-04-21
    • 2017-06-21
    • 2018-02-16
    • 1970-01-01
    • 2023-04-04
    相关资源
    最近更新 更多