37. Миграция из Meta Box | Field Forge - Произвольные поля, созданные для скорости
Скачать Войти

37. Миграция из Meta Box

Если ваш сайт использует Meta Box для пользовательских полей, Field Forge может покрыть ручной/бета путь миграции. Meta Box хранит многие значения в wp_postmeta, используя стандартные пары meta_key/meta_value, но метаданные расширений, группы, определенные строителем, правила местоположения и пользовательские обратные вызовы должны быть проверены для каждого сайта перед тем, как заявить о полной миграции в один клик.

Обнаружение

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"
);

Стратегия миграции

  1. Создайте соответствующие группы полей в Field Forge с теми же именами полей.
  2. Мигрируйте значения из wp_postmeta в таблицу значений Field Forge.
  3. Тестируйте шаблоны — поскольку Field Forge поддерживает get_field(), обновите любые вызовы rwmb_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' ] );

Обновления шаблонов

Замените вызовы функций Meta Box на эквиваленты 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

ИИ-ассистент Forge Онлайн

Привет! Я ИИ-ассистент Field Forge. Спрашивайте меня о чём угодно по плагину — настройка, возможности, устранение неполадок или разработка.

Только что
На базе Forge AI · Просмотр документации