query( "INSERT INTO {$wpdb->postmeta} (post_id, meta_key, meta_value) SELECT legacy.post_id, '_mlsimport_listing_key', legacy.meta_value FROM {$wpdb->postmeta} legacy LEFT JOIN {$wpdb->postmeta} protected_key ON protected_key.post_id = legacy.post_id AND protected_key.meta_key = '_mlsimport_listing_key' WHERE legacy.meta_key = 'ListingKey' AND legacy.meta_value != '' AND protected_key.meta_id IS NULL" ); // Step 3: mark the copy done so it never runs again. update_option( 'mlsimport_listing_key_migrated', defined( 'MLSIMPORT_VERSION' ) ? MLSIMPORT_VERSION : '1' ); } // Run before any import work can happen in the same request: both admin // screens and cron entry points pass through init. add_action( 'init', 'mlsimport_migrate_listing_key_identity', 5 );