El marco Pods almacena datos de campos personalizados ya sea en tablas personalizadas o en wp_postmeta. El enfoque de migración depende del modo de almacenamiento y sigue siendo un camino manual/beta hasta que se revisen los tipos de contenido de Pods del sitio, relaciones y llamadas de ayuda de plantillas.
Detección
php
// Check if Pods tables exist
global $wpdb;
$pods_tables = $wpdb->get_col( "SHOW TABLES LIKE '{$wpdb->prefix}pods%'" );
$has_pods = ! empty( $pods_tables );Migración desde Almacenamiento Meta de Pods
Cuando Pods utiliza wp_postmeta (el predeterminado), la migración es sencilla:
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',
] );Actualizaciones de Plantillas
php
// Before (Pods)
$pod = pods( 'event', get_the_ID() );
$date = $pod->field( 'event_date' );
// After (Field Forge)
$date = get_field( 'event_date' );—