4.9 Rated By Customers

Couple Wedding - Personalized Acrylic Photo Ornament

$18.99

Worldwide shipping

Handmade and 100% Custom

Global delivery
Free Shipping Over $49.99!
Sustainably made
Quantity
Description

Introducing our Personalized Acrylic Keepsake Custom Photo Wedding Ornament, which symbolizes love and being together throughout the holiday season. This ornament, expertly developed, lovingly shapes the journey together into a treasured keepsake. It symbolizes the enduring link of marriage and is ideal for couples, families, and as a thoughtful Christmas gift for wives and husbands. This ornament, designed for wedding memories, turns into a valued symbol of unity, preserving recollections with an artistic touch. This personalized masterpiece is a meaningful tribute to the couple in your life that will radiate love and joy for years to come. It may also be turned into a personalized keychain or a personalized photo car ornament to decorate your car, as well as making it an ideal gift for family and friends.

MESSAGE

Custom Wedding Photo Ornament, Wedding Ornament, Christmas Gift for Her, Married Ornament, Gift for Him.

PRODUCT DETAILS:

  • Dimensions: 3.5" x 3.5" x 0.11"
  • Our acrylics ornaments are covered with protective film on both sides, keep the acrylic from scratching or getting dirty with dust, please peel off the films before use.
  • Red satin ribbon or gold string included for hanging.

OUR GUARANTEE

Tracking number for every order

Safe payments Visa, Paypal, Mastercard, and Apple Pay

24/7 assistance service

No hidden fees!

      Shipping & Return

      Estimate Time Of Arrival Includes Production Time + Delivery Time

      1 - Production Time (2 to 5 days): After we receive your order, we shift into production mode. During busy seasons, the process typically takes 1-2 days longer. Please understand.

      2 - Shipping Time (7-10 Days or Faster): Want to get your item faster? Select the 'VIP Service' option after adding your product to the cart for the fastest shipping method we can provide. There are also different shipping options available at checkout.

      Please Note:

      • The above time frame is only applied for orders to the US with standard shipping methods.
      • International orders: It may take 2-5 days longer due to the customs clearance process.
      • When order is ready to be shipped, a tracking link will be sent to your email so you can follow your package all the way home.
      • The estimated delivery time for our order will depend on your location. While we work closely with our logistics partners to provide you accurate delivery information, delivery times are estimates only and cannot be guaranteed. Once your product(s) are in transit, any delays are outside our control.
      • For more information about Shipping and Delivery, visit here.
      • Learn more Returns and Refunds here.
      Customer Sharing

      Let Customer Speaks For Us

      Write a Review
      Customer Reviews
      Wow you reached the bottom
      Newest
      Most liked
      Highest ratings
      Lowest ratings
      ×
      class SpzCustomFileUpload extends SPZ.BaseElement { constructor(element) { super(element); this.uploadCount_ = 0; this.fileList_ = []; } buildCallback() { this.action = SPZServices.actionServiceForDoc(this.element); this.registerAction('upload', (data) => { this.handleFileUpload_(data.event?.detail?.data || []); }); this.registerAction('delete', (data) => { this.handleFileDelete_(data?.args?.data); }); this.registerAction('preview', (data) => { this.handleFilePreview_(data?.args?.data); }); this.registerAction('limit', (data) => { this.handleFileLimit_(); }); this.registerAction('sizeLimit', (data) => { this.handleFileSizeLimit_(); }); } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } setData_(count, file) { this.uploadCount_ = count; this.fileList_ = file; } handleFileUpload_(data) { data.forEach(i => { if(this.fileList_.some(j => j.url === i.url)) return; this.fileList_.push(i); }) this.uploadCount_++; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileUpload", { count: this.uploadCount_, files: this.fileList_}); if(this.fileList_.length >= 5){ document.querySelector('#review_upload').style.display = 'none'; } if(this.fileList_.length > 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '8px'; } } handleFileDelete_(index) { this.fileList_.splice(index, 1); this.uploadCount_--; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleFileDelete", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; if(this.fileList_?.length === 0){ document.querySelector('.apps-reviews-write-anonymous-box').style.marginTop = '132px'; } } handleFilePreview_(index) { const finalPreviewData = this.fileList_[index]; const filePreviewModal = document.getElementById('filePreviewModal'); const fullScreenVideo = document.getElementById('fullScreenVideo'); const fullScreenImage = document.getElementById('fullScreenImage'); const previewModalClose = document.getElementById('previewModalClose'); const previewLoading = document.getElementById('previewLoading'); filePreviewModal.style.display = 'block'; previewLoading.style.display = 'flex'; if(finalPreviewData?.type === 'video'){ const media = this.mediaParse_(this.fileList_[index]?.url); fullScreenVideo.addEventListener('canplaythrough', function() { previewLoading.style.display = 'none'; }); fullScreenImage.src = ''; fullScreenImage.style.display = 'none'; fullScreenVideo.style.display = 'block'; fullScreenVideo.src = media.mp4 || ''; } else { fullScreenImage.onload = function() { previewLoading.style.display = 'none'; }; fullScreenVideo.src = ''; fullScreenVideo.style.display = 'none'; fullScreenImage.style.display = 'block'; fullScreenImage.src = finalPreviewData.url; } previewModalClose.addEventListener('click', function() { filePreviewModal.style.display = 'none'; }); } handleFileLimit_() { alert(window.AppReviewsLocale.comment_file_limit || 'please do not upload files more than 5'); this.triggerEvent_("handleFileLimit"); } handleFileSizeLimit_() { alert(window.AppReviewsLocale.comment_file_size_limit || 'File size does not exceed 10M'); } clear(){ this.fileList_ = []; this.uploadCount_ = 0; sessionStorage.setItem('fileList', JSON.stringify(this.fileList_)); this.triggerEvent_("handleClear", { count: this.uploadCount_, files: this.fileList_}); document.querySelector('#review_upload').style.display = 'block'; } mediaParse_(url) { var result = {}; try { url.replace(/[?&]+([^=&]+)=([^&]*)/gi, function (str, key, value) { try { result[key] = decodeURIComponent(value); } catch (e) { result[key] = value; } }); result.preview_image = url.split('?')[0]; } catch (e) {}; return result; } triggerEvent_(name, data) { const event = SPZUtils.Event.create(this.win, name, data); this.action.trigger(this.element, name, event); } } SPZ.defineElement('spz-custom-file-upload', SpzCustomFileUpload);
      The review would not show in product details on storefront since it does not support to.