(🌲Early Christmas Sale- SAVE 49% OFF)😍Wooden DIY Christmas Ornaments🎄-⏰BUY 5 GET 15% OFF & FREE SHIPPING
(🌲Early Christmas Sale- SAVE 49% OFF)😍Wooden DIY Christmas Ornaments🎄-⏰BUY 5 GET 15% OFF & FREE SHIPPING
(🌲Early Christmas Sale- SAVE 49% OFF)😍Wooden DIY Christmas Ornaments🎄-⏰BUY 5 GET 15% OFF & FREE SHIPPING
(🌲Early Christmas Sale- SAVE 49% OFF)😍Wooden DIY Christmas Ornaments🎄-⏰BUY 5 GET 15% OFF & FREE SHIPPING
(🌲Early Christmas Sale- SAVE 49% OFF)😍Wooden DIY Christmas Ornaments🎄-⏰BUY 5 GET 15% OFF & FREE SHIPPING
(🌲Early Christmas Sale- SAVE 49% OFF)😍Wooden DIY Christmas Ornaments🎄-⏰BUY 5 GET 15% OFF & FREE SHIPPING
(🌲Early Christmas Sale- SAVE 49% OFF)😍Wooden DIY Christmas Ornaments🎄-⏰BUY 5 GET 15% OFF & FREE SHIPPING
(🌲Early Christmas Sale- SAVE 49% OFF)😍Wooden DIY Christmas Ornaments🎄-⏰BUY 5 GET 15% OFF & FREE SHIPPING
(🌲Early Christmas Sale- SAVE 49% OFF)😍Wooden DIY Christmas Ornaments🎄-⏰BUY 5 GET 15% OFF & FREE SHIPPING
(🌲Early Christmas Sale- SAVE 49% OFF)😍Wooden DIY Christmas Ornaments🎄-⏰BUY 5 GET 15% OFF & FREE SHIPPING
(🌲Early Christmas Sale- SAVE 49% OFF)😍Wooden DIY Christmas Ornaments🎄-⏰BUY 5 GET 15% OFF & FREE SHIPPING
(🌲Early Christmas Sale- SAVE 49% OFF)😍Wooden DIY Christmas Ornaments🎄-⏰BUY 5 GET 15% OFF & FREE SHIPPING
(🌲Early Christmas Sale- SAVE 49% OFF)😍Wooden DIY Christmas Ornaments🎄-⏰BUY 5 GET 15% OFF & FREE SHIPPING
(🌲Early Christmas Sale- SAVE 49% OFF)😍Wooden DIY Christmas Ornaments🎄-⏰BUY 5 GET 15% OFF & FREE SHIPPING
(🌲Early Christmas Sale- SAVE 49% OFF)😍Wooden DIY Christmas Ornaments🎄-⏰BUY 5 GET 15% OFF & FREE SHIPPING
(🌲Early Christmas Sale- SAVE 49% OFF)😍Wooden DIY Christmas Ornaments🎄-⏰BUY 5 GET 15% OFF & FREE SHIPPING
(🌲Early Christmas Sale- SAVE 49% OFF)😍Wooden DIY Christmas Ornaments🎄-⏰BUY 5 GET 15% OFF & FREE SHIPPING
(🌲Early Christmas Sale- SAVE 49% OFF)😍Wooden DIY Christmas Ornaments🎄-⏰BUY 5 GET 15% OFF & FREE SHIPPING
(🌲Early Christmas Sale- SAVE 49% OFF)😍Wooden DIY Christmas Ornaments🎄-⏰BUY 5 GET 15% OFF & FREE SHIPPING
(🌲Early Christmas Sale- SAVE 49% OFF)😍Wooden DIY Christmas Ornaments🎄-⏰BUY 5 GET 15% OFF & FREE SHIPPING
(🌲Early Christmas Sale- SAVE 49% OFF)😍Wooden DIY Christmas Ornaments🎄-⏰BUY 5 GET 15% OFF & FREE SHIPPING
(🌲Early Christmas Sale- SAVE 49% OFF)😍Wooden DIY Christmas Ornaments🎄-⏰BUY 5 GET 15% OFF & FREE SHIPPING
(🌲Early Christmas Sale- SAVE 49% OFF)😍Wooden DIY Christmas Ornaments🎄-⏰BUY 5 GET 15% OFF & FREE SHIPPING
(🌲Early Christmas Sale- SAVE 49% OFF)😍Wooden DIY Christmas Ornaments🎄-⏰BUY 5 GET 15% OFF & FREE SHIPPING
(🌲Early Christmas Sale- SAVE 49% OFF)😍Wooden DIY Christmas Ornaments🎄-⏰BUY 5 GET 15% OFF & FREE SHIPPING
(🌲Early Christmas Sale- SAVE 49% OFF)😍Wooden DIY Christmas Ornaments🎄-⏰BUY 5 GET 15% OFF & FREE SHIPPING
(🌲Early Christmas Sale- SAVE 49% OFF)😍Wooden DIY Christmas Ornaments🎄-⏰BUY 5 GET 15% OFF & FREE SHIPPING
(🌲Early Christmas Sale- SAVE 49% OFF)😍Wooden DIY Christmas Ornaments🎄-⏰BUY 5 GET 15% OFF & FREE SHIPPING
(🌲Early Christmas Sale- SAVE 49% OFF)😍Wooden DIY Christmas Ornaments🎄-⏰BUY 5 GET 15% OFF & FREE SHIPPING
(🌲Early Christmas Sale- SAVE 49% OFF)😍Wooden DIY Christmas Ornaments🎄-⏰BUY 5 GET 15% OFF & FREE SHIPPING
(🌲Early Christmas Sale- SAVE 49% OFF)😍Wooden DIY Christmas Ornaments🎄-⏰BUY 5 GET 15% OFF & FREE SHIPPING
(🌲Early Christmas Sale- SAVE 49% OFF)😍Wooden DIY Christmas Ornaments🎄-⏰BUY 5 GET 15% OFF & FREE SHIPPING

(🌲Early Christmas Sale- SAVE 49% OFF)😍Wooden DIY Christmas Ornaments🎄-⏰BUY 5 GET 15% OFF & FREE SHIPPING

Price

$0.00 $8.99
Save $-8.99
Free shipping on orders over 69.9

color

Please select a color

Quantity

Free returns
Sustainably made
Secure payments


BUY 3 GET 3% OFF 

BUY 4 GET 8% OFF 

BUY 5 GET 15% OFF & FREE SHIPPING

"My kids DIY it and give it to family and friends, it's so much fun, everyone is happy, it's so rewarding"✨✨

(No need to use promotional codes, the system will automatically reduce the price after adding to the shopping cart.)

[special event]: Randomly selected 20 lucky customers to get double the order product every day. We will send you an email, please remember to check, thanks for your support❤️❤️❤️

  • ⏰Handling time>> Ship within 8-12 hours after payment.

    🚢Shipping>>We'll arrange the fastest shipping for you. Free Shipping On Orders Over $35
    😊 If you aren't satisfied with the goods received, please contact us within 15 days after receipt, we will give you the best help!
    🍭 SSL Certificates For 100% Security

It's an unique gift idea. 🔥The QTY is limited!🔥Please make sure to buy enough quantity before we increase the price!!!

"GOOD FOR DEVELOPING CREATIVITY AND CONCENTRATION"🎄🎄
"LET'S DECORATE WITH HOMEMADE CHRISTMAS PROPS"🎁🎁

Here comes our Last day Sale! We sell this Wooden DIY Christmas Ornaments- For only $7.9 .Act fast before sale ends.

flash sale ends today

FEATURES

  • 【Wooden Cuts】: Christmas tree decoration ornaments are made of wood, the surface of the items is smooth, no burrs, suitable for decoration

  • 【DIY Crafts】: These Christmas wooden craft ornaments are great for DIY hand drawing, Christmas signs, gift tags, handwritten tags, letters, wish cards, table numbers, hooks, decorations, coasters, photo props and many other art and craft projects .

  • 【Features】: Each wood decoration has holes and jute for hanging, the tree decoration surface is smooth and neat, suitable for painting design and writing, suitable for DIY and handmade

  • 【Scope of use】: The decorative appearance is a Christmas tree, suitable for Christmas, parties, weddings, festivals, celebration decorations and DIY handmade.

SPECIFICATIONS

  • Item Type: Gift

  • Occasion: Daily

  • Material: Wood

  • Style:Bells, Cookie, Sled, Christmas Tree, Santa Claus, Elk, Snowman

  • Size: 10.2*11.2*3.7cm/4.0*4.4*1.4in

PACKAGE

  • 1* Wooden DIY Christmas Tree Ornaments
Thank you for being one of our valued customers.🎉

click on "ADD TO CART" to get yours now!

HOW TO PAY

If you want to checkout with Credit Card. Please Click Paypal and Search for ‘Pay with Debit or Credit Card’
Enter your Payment details, your Billing Address, and your Contact Information.

OUR GUARANTEE

  • We take pride in our products as we believe they are amazing. However, we understand that buying things online can be daunting, especially for the first time, so we offer a 100% satisfaction guarantee.
  • If you don't have a positive experience for any reason, we will do whatever it takes to make sure you are 100% satisfied with your purchase.
/** @private {string} */ class SpzCustomAnchorScroll extends SPZ.BaseElement { static deferredMount() { return false; } constructor(element) { super(element); /** @private {Element} */ this.scrollableContainer_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } buildCallback() { this.viewport_ = this.getViewport(); this.initActions_(); } setTarget(containerId, targetId) { this.containerId = '#' + containerId; this.targetId = '#' + targetId; } scrollToTarget() { const container = document.querySelector(this.containerId); const target = container.querySelector(this.targetId); const {scrollTop} = container; const eleOffsetTop = this.getOffsetTop_(target, container); this.viewport_ .interpolateScrollIntoView_( container, scrollTop, scrollTop + eleOffsetTop ); } initActions_() { this.registerAction( 'scrollToTarget', (invocation) => this.scrollToTarget(invocation?.caller) ); this.registerAction( 'setTarget', (invocation) => this.setTarget(invocation?.args?.containerId, invocation?.args?.targetId) ); } /** * @param {Element} element * @param {Element} container * @return {number} * @private */ getOffsetTop_(element, container) { if (!element./*OK*/ getClientRects().length) { return 0; } const rect = element./*OK*/ getBoundingClientRect(); if (rect.width || rect.height) { return rect.top - container./*OK*/ getBoundingClientRect().top; } return rect.top; } } SPZ.defineElement('spz-custom-anchor-scroll', SpzCustomAnchorScroll); const STRENGTHEN_TRUST_URL = "/api/strengthen_trust/settings"; class SpzCustomStrengthenTrust extends SPZ.BaseElement { constructor(element) { super(element); this.renderElement_ = null; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { this.xhr_ = SPZServices.xhrFor(this.win); const renderId = this.element.getAttribute('render-id'); SPZCore.Dom.waitForChild( document.body, () => !!document.getElementById(renderId), () => { this.renderElement_ = SPZCore.Dom.scopedQuerySelector( document.body, `#${renderId}` ); if (this.renderElement_) { this.render_(); } this.registerAction('track', (invocation) => { this.track_(invocation.args); }); } ); } render_() { this.fetchData_().then((data) => { if (!data) { return; } SPZ.whenApiDefined(this.renderElement_).then((apis) => { apis?.render(data); document.querySelector('#strengthen-trust-render-1718252090972').addEventListener('click',(event)=>{ if(event.target.nodeName == 'A'){ this.track_({type: 'trust_content_click'}); } }) }); }); } track_(data = {}) { const track = window.sa && window.sa.track; if (!track) { return; } track('trust_enhancement_event', data); } parseJSON_(string) { let result = {}; try { result = JSON.parse(string); } catch (e) {} return result; } fetchData_() { return this.xhr_ .fetchJson(STRENGTHEN_TRUST_URL) .then((responseData) => { if (!responseData || !responseData.data) { return null; } const data = responseData.data; const moduleSettings = (data.module_settings || []).reduce((result, moduleSetting) => { return result.concat(Object.assign(moduleSetting, { logos: (moduleSetting.logos || []).map((item) => { return moduleSetting.logos_type == 'custom' ? this.parseJSON_(item) : item; }) })); }, []); return Object.assign(data, { module_settings: moduleSettings, isEditor: window.self !== window.top, }); }); } } SPZ.defineElement('spz-custom-strengthen-trust', SpzCustomStrengthenTrust);
class SpzSmartBlockComponent extends SPZ.BaseElement { constructor(element) { super(element); this.templates_ = null; this.container_ = null; this.i18n_ = {}; this.config_ = {}; this.show_type_ = 3; this.product_resource_id_ = ''; this.collection_resource_id_ = ''; this.cart_items_ = []; this.customer_id_ = ''; this.order_id_ = ''; } static deferredMount() { return false; } isLayoutSupported(layout) { return layout == SPZCore.Layout.CONTAINER; } buildCallback() { const template_type = window.SHOPLAZZA.meta.page.template_type; if (template_type === 1) { this.show_type_ = 3; this.product_resource_id_ = window.SHOPLAZZA.meta.page.resource_id; } else if (template_type === 2) { this.show_type_ = 4; this.collection_resource_id_ = window.SHOPLAZZA.meta.page.resource_id; } else if (template_type === 15){ this.show_type_ = 5; } else if (template_type === 13){ this.show_type_ = 6; } else if (template_type === 20){ this.show_type_ = 7; this.customer_id_ = window.SHOPLAZZA.customer.customer_id; } else if (template_type === 35){ this.show_type_ = 8; this.order_id_ = window.location.pathname.split('/').pop(); } this.templates_ = SPZServices.templatesForDoc(this.element); this.setAction_(); } mountCallback() { console.log('smart mounted'); const that = this; const themeName = window.SHOPLAZZA.theme.merchant_theme_name; const isGeek = /Geek/.test(themeName); this.fetchRules().then((res) => { if (res && res.rules && res.rules.length) { const blockEl = document.getElementById('smart_recommend_block'); SPZ.whenApiDefined(blockEl).then((api) => { api.render({data: res}, true).then(() => { if (isGeek && that.show_type_ === 6) { blockEl.querySelector('.plugin_container_wrpper').style.padding = '30px 0'; } const recommendStyle = document.createElement('style'); recommendStyle.innerHTML = ` .plugin__recommend_container,.app-recommend-card { display: none !important; } `; document.head.appendChild(recommendStyle); const fetchList = []; res.rules.forEach((rule) => { fetchList.push(this.fetchRuleProductList(rule.id)); }); const fetchAll = Promise.all(fetchList); fetchAll.then((p_res) => { res.rules.forEach((rule, index) => { rule.products = p_res[index] && p_res[index].products; const ruleEl = document.getElementById('smart_recommend_rule_' + rule.id); SPZ.whenApiDefined(ruleEl).then((api) => { api.render({data: rule}, true).then(() => { that.impressListen(`#smart_recommend_rule_ul_${rule.id}`, function(){ that.trackRuleImpress(rule); }); const btnElList = document.querySelectorAll(`#smart_recommend_rule_ul_${rule.id} button`); btnElList.forEach((btnEl) => { if (btnEl && rule.config && rule.config.quick_shop_button_bg_color && rule.config.quick_shop_button_text_color) { btnEl.style.backgroundColor = rule.config.quick_shop_button_bg_color; btnEl.style.color = rule.config.quick_shop_button_text_color; } }) }); }); }); }); }) }) } else { if (window.top !== window.self) { const template_type = window.SHOPLAZZA.meta.page.template_type; const holderEl = document.getElementById('smart_recommend_preview_no_data_placeholder'); SPZ.whenApiDefined(holderEl).then((api) => { api.render({data: { isCart: template_type === 13, isCollection: template_type === 2, isProduct: template_type === 1, isIndex: template_type === 15 }}, true); }); } } }); } setAction_() { this.registerAction('quickShop', (data) => { const that = this; const product_id = data.args.product_id; const productIndex = data.args.productIndex; const rule_id = data.args.rule_id; const ssp = data.args.ssp; const scm = data.args.scm; const cfb = data.args.cfb; const ifb = data.args.ifb; const modalRender = document.getElementById('smart_recommend_product_modal_render'); if (product_id) { this.fetchProductData(product_id).then((res) => { const product = res.products && res.products.length && res.products[0] || {}; product.cfb = cfb; product.ifb = ifb; SPZ.whenApiDefined(modalRender).then((api) => { api.render({product: product, productIndex: productIndex, rule_id: rule_id, ssp: ssp, scm: scm, show_type: that.show_type_}, true).then(() => { const modalEl = document.getElementById('smart_recommend_product_modal'); SPZ.whenApiDefined(modalEl).then((modal) => { that.impressListen('#smart_recommend_product_modal', function(){ that.trackQuickShop({ rule_id: rule_id, product_id: product_id }); }); modal.open(); }); const formEl = document.getElementById('smart_recommend_product_form'); SPZ.whenApiDefined(formEl).then((form) => { form.setProduct(product); }); const variantEl = document.getElementById('smart_recommend_product_variants'); SPZ.whenApiDefined(variantEl).then((variant) => { variant.handleRender(product); }); }); }) }); } }); this.registerAction('handleScroll', (data) => { this.directTo(data.args.rule_id, data.args.direction); }); this.registerAction('handleProductChange', (data) => { const variant = data.args.data.variant; const product = data.args.data.product; const imageRenderEl = document.getElementById('smart_recommend_product_image'); SPZ.whenApiDefined(imageRenderEl).then((api) => { api.render({ variant: variant, product: product }, true); }); }); this.registerAction('handleAtcSuccess', (detail) => { const data = detail.args; data.data.product = data.data.product || {}; data.data.variant = data.data.variant || {}; const product_id = data.data.product.id; const product_title = data.data.product.title; const variant_id = data.data.variant.id; const price = data.data.variant.price; const rule_id = data.rule_id; const aid = `smart_recommend.${this.show_type_}.${rule_id}`; const ifb = data.data.product.ifb; const cfb = data.data.product.cfb; const ssp = data.ssp; const scm = data.scm; const spm = `smart_recommend_${this.show_type_}.${data.spmIndex}`; const params = { id: product_id, product_id: product_id, number: 1, name: product_title, variant_id: variant_id, childrenId: variant_id, item_price: price, source: 'add_to_cart', _extra: { aid: aid, ifb: ifb, cfb: cfb, scm: scm, spm: `..${window.SHOPLAZZA.meta.page.template_name}.${spm}`, ssp: ssp, } }; this.tranckAddToCart(params); }); this.registerAction('addATCHook', (data) => { const params = data.args; const spm = `smart_recommend_${this.show_type_}.${params.spmIndex}`; this.myInterceptor_ = window.djInterceptors && window.djInterceptors.track.use({ event: 'dj.addToCart', params: { aid: `smart_recommend.${this.show_type_}.` + params.rule_id, ssp: params.ssp, scm: params.scm, cfb: params.cfb, spm: `..${window.SHOPLAZZA.meta.page.template_name}.${spm}`, }, once: true }); }); } tranckAddToCart(detail) { if (window.$) { window.$(document.body).trigger('dj.addToCart', detail); } } fetchRules() { const payload = { show_type: this.show_type_, }; let that = this; if (this.show_type_ === 6) { let line_items = []; return this.fetchCart().then((res) => { if (res && res.cart && res.cart.line_items) { line_items = res.cart.line_items.map((item) => { return { product_id: item.product_id, variant_id: item.variant_id, quantity: item.quantity, price: item.price } }); } payload.line_items = line_items; that.cart_items_ = line_items; return that.fetchRulesRequest(payload); }); } else { if (this.show_type_ === 3) { payload.line_items = [{ product_id: this.product_resource_id_ }]; } else if (this.show_type_ === 4) { payload.collection_id = this.collection_resource_id_; } else if (this.show_type_ === 7) { payload.customer_id = this.customer_id_; } else if (this.show_type_ === 8) { payload.order_id = this.order_id_; } return this.fetchRulesRequest(payload); } } fetchRulesRequest(payload) { return fetch(window.SHOPLAZZA.routes.root + "/api/possum/recommend_query", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload) }).then(function(res){ if(res.ok){ return res.json(); } }); } fetchCart() { return fetch(`/api/cart/cart-select?r=${Math.random().toString(36).slice(-4)}`) .then((res) => { if (res.ok) { return res.json(); } }); } fetchRuleProductList(rule_id) { const payload = { page: 1, limit: 100, fields: ["title", "url", "image", "min_price_variant.price", "min_price_variant.compare_at_price"], rule_id: rule_id, }; if (this.show_type_ === 3) { payload.line_items = [{ product_id: this.product_resource_id_ }]; } else if (this.show_type_ === 4) { payload.collection_id = this.collection_resource_id_; } else if (this.show_type_ === 6) { payload.line_items = this.cart_items_; } else if (this.show_type_ === 7) { payload.customer_id = this.customer_id_; } else if (this.show_type_ === 8) { payload.order_id = this.order_id_; } return fetch(window.SHOPLAZZA.routes.root + "/api/possum/recommend_products", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload) }).then(function(res){ if(res.ok){ return res.json(); } }).catch(function(err){ console.log(err); }); } fetchProductData(product_id) { return fetch(window.SHOPLAZZA.routes.root + "/api/possum/products", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ product_ids: [product_id], fields: [ "images", "options", "min_price_variant", "variants"] }) }).then(function(res){ if(res.ok){ return res.json(); } }).catch(function(err){ console.log(err); const loadingEl = document.getElementById('smart_recommend_loading'); if (loadingEl) { loadingEl.style.display = 'none'; } }); } getStyle(ele, style) { if (!ele) return; if (window.getComputedStyle) { return window.getComputedStyle(ele)[style]; } return ele.currentStyle[style]; } directTo(id, direction) { const scrollElement = document.getElementById(`smart_recommend_rule_ul_${id}`); const blockWidth = parseInt(this.getStyle(scrollElement, 'width')); const scrollLength = (blockWidth * 0.19 - 12) * 5; const scrollPoint = scrollElement.scrollWidth - scrollElement.clientWidth; if (!scrollElement) return; if (direction === 'left') { if (document.dir === 'rtl') { scrollElement.scrollTo({ left: Math.abs(scrollElement.scrollLeft) >= scrollPoint - 100 ? 0 : scrollElement.scrollLeft - scrollLength, behavior: 'smooth' }); return; } scrollElement.scrollTo({ left: Math.max(scrollElement.scrollLeft - scrollLength, 0), behavior: 'smooth' }); } else { if (document.dir === 'rtl') { scrollElement.scrollTo({ left: Math.abs(scrollElement.scrollLeft) >= scrollPoint + 100 ? 0 : scrollElement.scrollLeft + scrollLength, behavior: 'smooth' }); return; } scrollElement.scrollTo({ left: scrollElement.scrollLeft >= scrollPoint - 100 ? 0 : scrollElement.scrollLeft + scrollLength, behavior: 'smooth' }); } } trackRuleImpress(rule) { if (window.sa && window.sa.track) { window.sa.track("plugin_common", { plugin_name: "upsell", event_type: "impressions", rule_id: rule.id, ssp: rule.ssp, scm: rule.scm, show_type: this.show_type_, support_app_block: window.SHOPLAZZA.theme.support_app_block }); window.sa.track("module_impressions", { aid: `smart_recommend.${this.show_type_}.${rule.id}`, support_app_block: window.SHOPLAZZA.theme.support_app_block }); } } trackQuickShop(data) { window.sa && sa.track && sa.track("plugin_common", { plugin_name: "upsell", event_type: "quick_shop", rule_id: data.rule_id, product_id: data.product_id, show_type: this.show_type_, }); } impressListen(selector, cb) { const el = document.querySelector(selector); const onImpress = (e) => { if (e) { e.stopPropagation(); } cb(); }; if (el && !el.getAttribute('imprsd')) { el.addEventListener('impress', onImpress) } else if (el) { onImpress(); } } } SPZ.defineElement('spz-custom-smart-block', SpzSmartBlockComponent);