Si votre site utilise Meta Box pour des champs personnalisés, Field Forge peut couvrir un chemin de migration manuel/bêta. Meta Box stocke de nombreuses valeurs dans wp_postmeta en utilisant des paires standard meta_key/meta_value, mais les métadonnées d’extension, les groupes définis par le constructeur, les règles de localisation et les rappels personnalisés doivent être vérifiés par site avant de revendiquer une migration complète en un clic.
Détection
php
// Check for Meta Box data in postmeta
global $wpdb;
$meta_box_groups = $wpdb->get_results(
"SELECT DISTINCT meta_key FROM {$wpdb->postmeta}
WHERE meta_key NOT LIKE '\_%'
AND meta_key NOT LIKE 'field\_%'
ORDER BY meta_key"
);Stratégie de Migration
- Créer des groupes de champs correspondants dans Field Forge avec les mêmes noms de champs.
- Migrer les valeurs de
wp_postmetavers la table des valeurs Field Forge. - Tester les modèles — puisque Field Forge prend en charge
get_field(), mettez à jour tous les appelsrwmb_meta().
php
// Batch migrate Meta Box values to Field Forge
function migrate_meta_box_to_fieldforge( $post_type, $field_names ) {
$posts = get_posts( [ 'post_type' => $post_type, 'numberposts' => -1, 'fields' => 'ids' ] );
foreach ( $posts as $post_id ) {
foreach ( $field_names as $name ) {
$value = get_post_meta( $post_id, $name, true );
if ( '' !== $value && null !== $value ) {
update_field( $name, $value, $post_id );
}
}
}
}
// Usage
migrate_meta_box_to_fieldforge( 'product', [ 'price', 'sku', 'description', 'gallery' ] );Mises à Jour de Modèle
Remplacez les appels de fonction Meta Box par les équivalents Field Forge :
php
// Before (Meta Box)
$value = rwmb_meta( 'price' );
$images = rwmb_meta( 'gallery', [ 'size' => 'large' ] );
// After (Field Forge)
$value = get_field( 'price' );
$images = get_field( 'gallery' ); // Returns array based on return_format—