Aesthetic Match
Evaluating Card 1 of 8
12% Calibrated
Calculated from your micro-swipes, dwell time, and design choices.
92% Match
Get an instant PDF containing 24 curated spatial concepts, 3D moodboards, and a single-use WooCommerce discount code.
CPT + ACF Schemas, Shortcode, and Webhook Payloads
Register a Custom Post Type quiz_card and link an ACF Field Group for card attributes:
ACF Field Group: "Aesthetic Quiz Card" ├── card_title (Text: e.g. 'Nordic Forest Retreat') ├── card_archetype (Select: 'japandi', 'midcentury', 'industrial', 'scandi', 'cyberpunk', 'boho') ├── weight_value (Number: Default 1) ├── hero_image (Image Object / WebP 1080x1350) ├── micro_tags (Repeater: tag_label) ├── hex_swatches (Repeater: color_hex) └── linked_product_ids (Relationship -> WooCommerce Products)
Enqueue the script in your child theme’s functions.php and render dynamically via [visual_taste_swiper]:
function render_visual_taste_swiper($atts) {
$cards = get_posts([
'post_type' => 'quiz_card',
'posts_per_page' => 10,
'post_status' => 'publish'
]);
ob_start();
?>
<div id="taste-swiper-app" class="taste-swiper-container" data-cards='<?php echo esc_attr(json_encode($cards)); ?>'>
<!-- Swiper UI Mount Point -->
<div class="deck-wrapper"></div>
</div>
<?php
return ob_get_clean();
}
add_shortcode('visual_taste_swiper', 'render_visual_taste_swiper');
Data sent to the WordPress REST API endpoint /wp-json/funnel/v1/taste-profile to sync with WooCommerce or CRM:
{
"email": "customer@example.com",
"archetype": "Japandi Minimalist",
"match_percentage": 92,
"style_scores": {
"japandi": 8,
"scandi": 4,
"industrial": 1,
"midcentury": 0
},
"swiped_preferences": [
{ "card_id": 101, "action": "like" },
{ "card_id": 104, "action": "superlike" },
{ "card_id": 102, "action": "nope" }
],
"recommended_sku_ids": [4501, 8829, 3921]
}