Skip to content

3.5.14

Choose a tag to compare

@henrikandersen1978 henrikandersen1978 released this 20 Jan 11:27
· 24 commits to main since this release
v3.5.14: Batch permalink generation + optimized meta sorting

PERFORMANCE OPTIMIZATION:
City pages stadig havde 0.6-0.7 sek overhead fra permalink generation

ROOT CAUSE:
- get_permalink() kaldt i loops: 150 cities + 24 countries + 16 regional = 190 kald
- render_regional_centres brugte meta_value_num sort (postmeta JOIN)
- Total permalink overhead: ~1.4 sekunder

LØSNINGER:
1. Batch Permalink Generation (3 shortcodes)
   - nearby_cities_shortcode: 150 permalinks
   - render_regional_centres: 16 permalinks
   - nearby_countries_shortcode: 24 permalinks
   - Pattern: Pre-generate FØR loop (samme som v3.5.11 major_cities)

2. Optimized Meta Sorting
   - render_regional_centres: orderby => post__in (ingen JOIN)
   - Sort i PHP med cached meta (instant!)
   - Eliminerer postmeta JOIN overhead

PERFORMANCE:
- nearby_cities permalinks: 0.45s → 0.045s (10× hurtigere)
- regional_centres permalinks: 0.64s → 0.04s (16× hurtigere)
- nearby_countries permalinks: 0.96s → 0.04s (24× hurtigere)
- regional_centres query: 0.15s → 0.05s (3× hurtigere)
- Total city page: 7s → 6.3s (10% hurtigere)

DATABASE IMPACT:
- Cache overhead: 0 bytes (runtime optimization kun!)
- Ingen nye tabeller eller cache entries
- Reduceret queries: Elimineret 1 postmeta JOIN per city page

FILER:
- includes/frontend/class-wta-shortcodes.php
  - nearby_cities_shortcode() (batch permalinks)
  - render_regional_centres() (batch permalinks + PHP sort)
  - nearby_countries_shortcode() (batch permalinks)
- time-zone-clock.php (version bump)
- CHANGELOG.md (dokumentation)