Le framework Pods stocke les données de champs personnalisés soit dans des tables personnalisées, soit dans wp_postmeta. L’approche de migration dépend du mode de stockage, et reste un chemin manuel/bêta jusqu’à ce que les types de contenu Pods du site, les relations et les appels d’aide de modèle soient examinés.
Détection
php
// Check if Pods tables exist
global $wpdb;
$pods_tables = $wpdb->get_col( "SHOW TABLES LIKE '{$wpdb->prefix}pods%'" );
$has_pods = ! empty( $pods_tables );Migration depuis le Stockage Meta de Pods
Lorsque Pods utilise wp_postmeta (par défaut), la migration est simple :
php
function migrate_pods_to_fieldforge( $post_type, $field_map ) {
$posts = get_posts( [ 'post_type' => $post_type, 'numberposts' => -1, 'fields' => 'ids' ] );
foreach ( $posts as $post_id ) {
foreach ( $field_map as $pods_name => $ff_name ) {
$value = get_post_meta( $post_id, $pods_name, true );
if ( '' !== $value && null !== $value ) {
update_field( $ff_name, $value, $post_id );
}
}
}
}
// Usage: migrate with optional name remapping
migrate_pods_to_fieldforge( 'event', [
'event_date' => 'event_date',
'event_location' => 'venue_address',
'ticket_price' => 'price',
] );Mises à Jour de Modèle
php
// Before (Pods)
$pod = pods( 'event', get_the_ID() );
$date = $pod->field( 'event_date' );
// After (Field Forge)
$date = get_field( 'event_date' );—