Skip to content

Feat: WooCommerce-GoDAM Integration#1617

Merged
subodhr258 merged 345 commits intodevelopfrom
feat/godam-woocommerce-integration
Apr 17, 2026
Merged

Feat: WooCommerce-GoDAM Integration#1617
subodhr258 merged 345 commits intodevelopfrom
feat/godam-woocommerce-integration

Conversation

@rudrakshi-gupta
Copy link
Copy Markdown
Member

This PR introduces Video Commerce Capabilities with GoDAM-WooCommerce Integration by making product videos more interactive, shoppable, and engaging. With this release:

  • Users can now add “Product Hotspots" directly inside interactive video using WooCommerce layer.
  • A Video Shoppable Product Gallery Block is available for creating visually rich, product-linked video grids or carousels.
  • A new Product Story Carousel (Instagram-style) is added to single product pages to showcase short videos.
  • The product gallery now supports both images and videos, ensuring seamless multimedia browsing.

These features work together to improve customer engagement and conversion rates, making it easier for shoppers to view, interact with, and purchase products directly from videos.

Technical Implementation

1. WooCommerce Layer

  • New Layer Type: WooCommerce ( woo ) Layer added in the interactive video layer editor.
  • WooCommerce Product Linking: Dropdown populated with products (via API/local sync).
  • WooCommerce Mini Cart Linking: Attaches WooCommerce Mini Cart Block throughout the video.
  • Metadata: Stores selected Product ID or URL in layer metadata.
  • Frontend Behavior:
    - CTA appears at configured timestamps during video playback.
    - Clicking CTA redirects to product page or uses direct add-to-cart URL.
  • Future Tracking: Structure prepared for CTA interaction analytics.
Screenshot 2025-08-06 at 2 15 47 PM Screenshot 2025-08-06 at 2 16 05 PM

2. GoDAM Product Gallery Block

  • New Gutenberg Block & Shortcode: [godam_product_gallery products="123,124"].
  • Data Fetching: Pulls tagged videos from GoDAM (Product ID/SKU).
  • Display Options:
    - Grid or carousel layout.
    - Different View Ratios of video.
    - Customize different aspects of the block and video.
    - “Buy Now” CTAs and timestamp-based highlights.
  • Enhancements: Responsive design with optimized layouts for mobile and desktop views, mobile-friendly navigation, AJAX add-to-cart functionality, and WooCommerce Mini-Cart support.
Screenshot 2025-08-06 at 2 21 09 PM Screenshot 2025-07-31 at 2 05 34 PM Screenshot 2025-08-06 at 2 24 15 PM

3. GoDAM Single Product Page Story Carousel

  • Story-Style Videos: Short vertical videos uploaded and tagged with Product ID.
  • WooCommerce Hook: Integrated after woocommerce_after_single_product_summary.
  • UI & Features:
    - Swiper.js-powered carousel for a story-like experience.
    - CTA buttons with optional interactive overlays.
  • Enhancements: Responsive design with optimized layouts for mobile and desktop views, mobile-friendly navigation, AJAX add-to-cart functionality, and WooCommerce Mini-Cart support.

4. Featured Video Gallery on single Product Page

  • When GoDAM is enabled, WooCommerce’s product gallery now displays both images and videos.
  • Fully integrated with WooCommerce’s default gallery functionality for a consistent look and feel.
Screenshot 2025-08-06 at 2 41 14 PM

Testing & Compatibility

  • Verified compatibility with major WooCommerce themes.
  • Tested responsiveness across desktop and mobile.
  • Ensured gallery performance with mixed image-video content.
  • Gutenberg blocks comply with WordPress standards.

Attached Issues

Closes: #305, #306, #307, #634

Frontend Screenshots

WooCommerce Layer

Screenshot 2025-08-06 at 2 46 08 PM

GoDAM Product Gallery Block

Screenshot 2025-08-06 at 2 46 34 PM

GoDAM Single Product Page Story Carousel

Screenshot 2025-08-06 at 2 51 59 PM

Featured Video Gallery on single Product Page

Screenshot 2025-08-06 at 2 49 11 PM

rudrakshi-gupta and others added 30 commits July 31, 2025 14:02
…n-css-fixes

WooCommerce Product Gallery & Video UI Fixes for Mobile and Desktop
…n-product-gallery-fixes

WooCommerce Integration: Sidebar Enhancements & Mini Cart UI Update
- Fix Open Photo slider issue for featured video gallery
- Fix empty video id issue in thmbnails gallery for featured video gallery
- Fix CSS for single product story
…n-product-gallery-fixes

WooCommerce Integration fixes:
- Fix the styling issue of featured video image on Open Swipe Modal
- Fix position of close button for video popup on mobile screens for Product Gallery Block
- Add ellipsis for product name in sidebar of Product gallery block if it exceeds 1 line
…n-product-gallery-fixes

Woocommerce Integration fixes
…oded

Add Support for close button's position in Single Product Page Story
Responsive UI issues on mobile for product card and video modal
Update is_transcoded logic in video gallery class to use transcoded URL check
Adjust position of share button in video gallery modal
    - Extra wrapper of parsePx
    - Internationalization and linting
    - Proper comments and logs
    - Break large codes into modules
    - Enqueue of godam Player files on all pages
Rudrakshi Gupta and others added 19 commits April 15, 2026 12:59
- integrate godam_video shortcode in gallery slides
- replicate woo gallery attributes for video compatibility
- add data attributes for video identification
- implement thumbnail alt extraction with fallback logic
- patch WooCommerce lightbox to support video slides
- fix broken video rendering in product gallery
- add styles for the product gallery
Remove  query param; pass  directly to the
  godam_video shortcode as-is
- Add  query param that sets --godam-video-bg-color CSS variable on the
  .godam-video-embed wrapper; consumed by .video-js in godam-video-embed.scss
  (falls back to #000)
- Remove CommentBox/engagement modal rendering in godam-video-embed.js
- - Fix .godam-video-embed layout: use 100dvh for figure/container height,
  remove hardcoded background-color from wrapper
…o cart (#1733)

* fix: ensure WooCommerce cart store availability before adding items to cart

* fix: Add to cart seamless UX in Video without redirection

* fix: Address copilot comments

---------

Co-authored-by: KMchaudhary <kuldipkumar.chaudhary@rtcamp.com>
Co-authored-by: Subodh Rajpopat <subodh.rajpopat@rtcamp.com>
Remove: Reel pops block and product metabox support
* Revamp the product gallery block's autoplay behavior

- Add 'Show Play Button' block setting to toggle play icon overlay on idle videos
- Hide play icon automatically on the actively autoplaying item via CSS class
- Fix first video not autoplaying when autoplay is enabled
- Fix 'media could not be loaded' error caused by improper native video.load() call
- Prevent videos from fetching network data (HLS/DASH segments) when off-screen

* Fix the autoplay hover behaviour for autoplay false

* Fix: mute video autoplay in product gallery

* Fix: enable play button visibility in product gallery and add global resize event listener

* Fix: update autoplay behavior for carousel layout in video product gallery

* Fix: conditionally render play icon in video product gallery based on showPlayButton state

* Fix: enhance video product gallery placeholder and play icon styles

* Fix: add showPlayButton context to video product gallery and edit component

* Fix: refine autoplay behavior for grid and carousel layouts in video product gallery

---------

Co-authored-by: KMchaudhary <kuldipkumar.chaudhary@rtcamp.com>
- fix: prevent fullscreen exit crashes with safe API checks and fallbacks
- fix: avoid recursive click triggering with re-entrancy guard
- refactor: replace innerHTML with safe DOM element creation
- refactor: scope mini-cart click listener to player container
- fix: add cleanup for event listener on player dispose
- improve: enhance cross-browser fullscreen handling (iOS + WebKit)
- fix: correctly scope mini cart to each player to prevent cross-instance DOM movement
- feat: monitor Woo drawer state and auto-remove fullscreen return CTA on close
* Remove query mode support from Video Product Gallery block

- Remove count, categories, and products attributes from block.json
- Remove query-related state, effects, preview rendering, and inspector
  panels (Source toggle, Query Settings) from edit.js
- Simplify render.php by removing query helper functions
  (godam_vpg_get_query_limit, godam_vpg_get_matching_product_ids) and
  query branch in godam_vpg_build_gallery_items
- Remove /videos REST endpoint and get_videos_by_products method from
  Product_Gallery_Rest
- Remove query mode editor styles from editor.scss
- Retain mode attribute with default handpicked for future extensibility

* Resolve copilot comments

---------

Co-authored-by: KMchaudhary <kuldipkumar.chaudhary@rtcamp.com>
* Revamp the product reels feature by removing all the unwanted video iteraction

Make the product reels autoplay by default, with zero interaction on video

* Add the the product reels carousel iteractivity

* Remove video carousel functionality and associated styles from WooCommerce integration

* Update asset versioning for product reels and adjust button types in video gallery

* Add woocommerce context to remove GoDAM layers from video

* Enhance product reels feature with sequential autoplay and improved navigation controls

* Resolve copilot feedbacks

* Implement maximum video limit for product reels and resolve copilot feedbacks

* Add warning notice when product reels video limit is reached

* Improve product reels autoplay: skip auto-scroll when next video is already in view and switch playback when active video exits viewport

---------

Co-authored-by: KMchaudhary <kuldipkumar.chaudhary@rtcamp.com>
Feat: Add support for videos in WooCommerce product gallery
…1796)

Remove videoUrl, videoThumbnail, videoTitle, productName, productPrice,
and productImage from persisted block attributes. Only videoId and
productId are stored now.

Video display data is derived from the core media store via useSelect,
and product details are fetched from the WC Store API on each load.
This ensures the editor always shows up-to-date information without
stale cached values in block markup.

Co-authored-by: KMchaudhary <kuldipkumar.chaudhary@rtcamp.com>
- Refactor spinner rendering using DOM instead of innerHTML
- Add reusable SVG spinner with improved animation and styling
* feat: Enhance GoDAM media selection by supporting multi-select and adding virtual attachment handling for product galleries, products reels, and product reel pops meta boxes

* feat: Add virtual attachment handling for GoDAM videos in Reel Pops block

* fix: Enhance virtual attachment handling in GoDAM Reel Pops block to prevent cross-block interference

* fix: Prevent default media selection logic for GoDAM virtual attachments in video and gallery frames

* fix: Refactor media selection logic to use apiFetch for creating virtual attachments and handle errors gracefully

* fix: Apply feedback

* Revert "fix: Apply feedback"

This reverts commit 89b37e4.

---------

Co-authored-by: KMchaudhary <kuldipkumar.chaudhary@rtcamp.com>
Co-authored-by: Subodh Rajpopat <subodh.rajpopat@rtcamp.com>
rtBot
rtBot previously requested changes Apr 16, 2026
Copy link
Copy Markdown
Contributor

@rtBot rtBot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code analysis identified issues

action-phpcs-code-review has identified potential problems in this pull request during automated scanning. We recommend reviewing the issues noted and that they are resolved.

phpcs scanning turned up:

🚫 1 error


Powered by rtCamp's GitHub Actions Library

Comment thread inc/templates/godam-player.php Outdated
KMchaudhary and others added 7 commits April 16, 2026 20:29
Co-authored-by: KMchaudhary <kuldipkumar.chaudhary@rtcamp.com>
Remove dead code from WooCommerce integration
* fix: Address copilot woo feedback

* fix: Remove dead code

* fix: Remove dead code
@subodhr258 subodhr258 dismissed rtBot’s stale review April 17, 2026 07:18

Stale review

@subodhr258 subodhr258 merged commit 87e0dbb into develop Apr 17, 2026
2 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants