30. Оптимизация производительности | Field Forge - Произвольные поля, созданные для скорости
Скачать Войти

30. Оптимизация производительности

Field Forge разработан с учетом производительности с самого начала. Его архитектура пользовательских таблиц и пакетная загрузка обеспечивают значительные преимущества по сравнению с решениями на основе wp_postmeta.

Пользовательская таблица против PostMeta

Особенностьwp_postmeta (ACF)wp_fieldforge_values (Field Forge)
Структура запросаПары ключ-значение, одна строка на полеТипизированные строки с выделенными индексами
Комплексные поляУпрощенные: repeater_0_title, …Иерархические: parent_id / row_index
Строки на повторителе (10×5)50+ строк в postmeta11 строк в таблице значений
Пакетная загрузкаN запросов для N полей1 запрос для всех полей на запись
Интеграция кешаЗависит от кэша метаданных WordPressВстроенный объектный кэш с группой fieldforge

fieldforge_preload() для пользовательских запросов

php
$query = new WP_Query( [
    'post_type'      => 'product',
    'posts_per_page' => 20,
] );

// Preload all field values in ONE query
$post_ids = wp_list_pluck( $query->posts, 'ID' );
fieldforge_preload( $post_ids );

// Now get_field() calls use cached data -- zero additional queries
while ( $query->have_posts() ) : $query->the_post();
    $price = get_field( 'price' );    // From cache
    $image = get_field( 'thumbnail' ); // From cache
endwhile;
wp_reset_postdata();

Авто-предзагрузка через the_posts

Field Forge автоматически предзагружает значения для записей в основном запросе. Не требуется дополнительный код для стандартных архивных страниц, индекса блога или результатов поиска.

Интеграция объектного кэша

php
$stats = FIELDFORGE_Performance::instance()->get_stats();
/*
Returns:
[
    'total_values'    => 1523,
    'total_posts'     => 87,
    'total_groups'    => 5,
    'preloaded_posts' => 10,
    'object_cache'    => 'active',
    'cache_group'     => 'fieldforge',
]
*/

// Manual cache flush
FIELDFORGE_Performance::instance()->flush_all();

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

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

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