Autumn Capsule ’27 Editorial
Tap the glowing tags on the photo to preview runway items or browse the entire curated collection instantly.
The Japandi San Francisco Loft
Custom spatial remodel featuring natural timber tones, concealed storage, and calm diffused lighting.
Glacier Trek 45L Technical Pack
Engineered for sub-zero alpine conditions. Tested on Mt. Rainier. Only 85 units remain in this batch.
Find Your Personal Aesthetic Profile
We’ll curate your personal wardrobe or interior moodboard based on your swipe engagement history.
Product Title
$0.00Autumn Minimalist Edit
Oversized Merino Wool Coat
Sizes: XS, S, M, L
$220.00Chunky Lugsole Boots
Calfskin Leather • Black
$165.00Book 1-on-1 Design Session
Instant 20% Voucher Code
WordPress Implementation Guide
Ready-to-use snippets for Gutenberg, ACF Pro, and Shortcodes
Create an ACF Field Group attached to a Custom Post Type funnel_stream with these fields:
Field Group: "Media Stream Funnel Slide" ├── slides (Repeater) │ ├── media_type (Select: 'image', 'video_mp4') │ ├── media_file (Image / File upload) │ ├── brand_handle (Text: e.g. '@atelier') │ ├── title (Text) │ ├── description (Textarea) │ ├── cta_label (Text: e.g. 'Claim 20% Off') │ ├── cta_type (Select: 'woo_cart', 'gravity_form', 'external_url') │ └── hotspots (Repeater: top_pct, left_pct, product_id, custom_title)
Paste this snippet into your child theme’s functions.php to render the stream via [media_reels_funnel]:
function render_media_stream_funnel($atts) {
ob_start();
?>
<div class="snap-stream h-[100dvh] w-full overflow-y-scroll snap-y snap-mandatory">
<?php if( have_rows('stream_slides') ): ?>
<?php while( have_rows('stream_slides') ): the_row(); ?>
<div class="snap-card snap-start relative h-full w-full">
<img src="<?php echo esc_url(get_sub_field('media_file')['url']); ?>" class="w-full h-full object-cover" />
<div class="absolute bottom-6 left-5 right-5 z-20">
<h3 class="text-white font-bold text-lg"><?php the_sub_field('title'); ?></h3>
<button class="funnel-cta bg-pink-600 text-white font-bold px-4 py-2 rounded-xl">
<?php the_sub_field('cta_label'); ?>
</button>
</div>
</div>
<?php endwhile; ?>
<?php endif; ?>
</div>
<?php
return ob_get_clean();
}
add_shortcode('media_reels_funnel', 'render_media_stream_funnel');
Registration definition for a custom WordPress Gutenberg block using block.json:
{
"$schema": "https://schemas.wp.org/trunk/block.json",
"apiVersion": 3,
"name": "funnel/reels-stream",
"title": "TikTok Style Media Stream Funnel",
"category": "media",
"icon": "format-video",
"description": "Fullscreen vertical snapping image funnel with interactive conversion drawer.",
"supports": {
"align": ["full"],
"html": false
},
"attributes": {
"autoPlayInterval": { "type": "number", "default": 5000 },
"enableSoundEffects": { "type": "boolean", "default": true }
},
"editorScript": "file:./index.js",
"render": "file:./render.php"
}