WHA Docs

Imagery

The image sizes the theme generates per context, and what to upload for each.

The theme leans on WordPress's built-in sizes (thumbnail, medium, medium_large, large, full) and adds three custom sizes where the defaults left gaps. You don't pick a size when adding content: each component requests the right one and the browser serves the best fit from the generated srcset. Your job is to upload a good original.

Custom sizes

Registered in the theme's functions.php, tuned to its real display contexts. All are width-bounded and uncropped, since components frame images with CSS object-fit and srcset only needs the right widths.

SizeWidthUsed for
wha-bio400pxProvider bio headshot
wha-media1400pxcopy-with-media and inline content images
wha-hero2000pxFull-width section heroes

These fill the gaps WordPress's default ladder left between medium (300px) and large (1024px), and between large and the full original.

New sizes only generate for new uploads. To backfill existing media, run the Offload Media → Thumbnails regeneration: it generates the missing sizes and uploads them to S3. A plain "regenerate thumbnails" won't push them to cloud storage.

Sizes by context

Where it appearsSize the theme requestsUpload at least
Full-width section heroeswha-hero (2000px)2000–2560px wide
News and blog featured imagefull (original)~1600px wide
copy-with-media and inline contentwha-media (1400px)~1600px wide
Provider and location detail hero photolarge (≤1024px)~1200px wide
Provider, location and life-stage cardsmedium_large (≤768px)~800px wide
Provider bio headshotwha-bio (400px)~800px wide, portrait

Upload guidance

  • Upload at roughly 2× the display size, not camera resolution. A 5000px file for an 800px card wastes bandwidth even after optimization.
  • You don't make WebP yourself. Uploaded media is offloaded to S3 (the yax-offload-media plugin) and converted to WebP automatically. Upload JPG for photos, PNG for graphics with transparency, SVG for icons.
  • Keep originals reasonable. A few contexts serve the full original, so the file you upload is what loads. See Managing Providers for provider-photo specifics.

On this page