WOODEN HUMMINGBIRD HOUSE-GIFT FOR NATURE LOVERS
WOODEN HUMMINGBIRD HOUSE-GIFT FOR NATURE LOVERS
WOODEN HUMMINGBIRD HOUSE-GIFT FOR NATURE LOVERS
WOODEN HUMMINGBIRD HOUSE-GIFT FOR NATURE LOVERS
WOODEN HUMMINGBIRD HOUSE-GIFT FOR NATURE LOVERS
WOODEN HUMMINGBIRD HOUSE-GIFT FOR NATURE LOVERS
WOODEN HUMMINGBIRD HOUSE-GIFT FOR NATURE LOVERS
WOODEN HUMMINGBIRD HOUSE-GIFT FOR NATURE LOVERS
WOODEN HUMMINGBIRD HOUSE-GIFT FOR NATURE LOVERS
WOODEN HUMMINGBIRD HOUSE-GIFT FOR NATURE LOVERS
1/5
WOODEN HUMMINGBIRD HOUSE-GIFT FOR NATURE LOVERS
WOODEN HUMMINGBIRD HOUSE-GIFT FOR NATURE LOVERS
WOODEN HUMMINGBIRD HOUSE-GIFT FOR NATURE LOVERS
WOODEN HUMMINGBIRD HOUSE-GIFT FOR NATURE LOVERS
WOODEN HUMMINGBIRD HOUSE-GIFT FOR NATURE LOVERS
1/5

WOODEN HUMMINGBIRD HOUSE-GIFT FOR NATURE LOVERS

$19.99
$0.00
Save 0%
The current produc does not participate any Rebate. Switch the participating product to check the design.
(This prompt will not be displayed on the client-side.)
if(window.self === window.top) { (window.disabled_exts ||=[]).push('product_detail_rebate'); } class SpzRebateComponent extends SPZ.BaseElement { constructor(element) { super(element); } xhr_ = SPZServices.xhrFor(this.win); viewport_ = this.getViewport(); action_ = null; lang = document.documentElement.lang || 'en-US'; landPage = "\/promotions\/rebate\/"; pageType = 1; cart = []; initData = null; rebateInfo = null; renderData = null; footerImage = `${this.win.SHOPLAZZA["image_domain"]}oss/operation/e8ebb03dbb710457ca3b4b6a70898ab2.svg`; isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } buildCallback() { this.initData = this.getProduct(); this.action_ = SPZServices.actionServiceForDoc(this.element); this.registerAction("triggerGetRenderData", () => { const event = SPZUtils.Event.create(this.win, "triggerGetRenderData", this.renderData); this.action_.trigger(this.element, "getRenderData", event); }); this.registerAction("bindPropagation", () => { document.querySelector(".product_detail_rebate_list").addEventListener("click", e => { e.stopPropagation(); this.win.sa && this.win.sa.track("plugin_rebate_promotion_click", { plugin_timestamp: Date.now(), plugin_location: "info", product_id: this.initData.product.id, discount_id: this.rebateInfo.discount_list.map((item) => item.discount_id)[0], }); }); }); } async mountCallback() { document.addEventListener("dj.variantChange", e => { const data = e.detail; if (document.querySelector("#product-select-modal.show")) return; if (this.initData && this.initData.product && data.product && this.initData.product.id === data.product.id) { this.initData = data; this.initRebate(this.initData, true); } else { this.initData = data; this.getRebateInfo(); } }); document.addEventListener("dj.addToCart", e => { const v = e.detail; this.rebateInfo && this.win.sa && this.win.sa.track("plugin_rebate_atc", { variant_discount_id: this.getVariantDiscountId(v.variant_id).map(item => item.discount_id), discount_ids: this.rebateInfo.discount_list.map(item => item.discount_id), variant_id: v.variant_id, product_id: v.product_id, price: v.item_price, number: v.number, }); }); await this.getRebateInfo(); if (document.querySelector(".plugin-container__bottom-fixed")) { this.showDiscountPopupsInfoBar(); } else { this.win.addEventListener("extloaded", () => { this.showDiscountPopupsInfoBar(); }); } } getProduct = (() => { document.addEventListener("dj.variantChange", e => { if (!e.detail || !e.detail.product) return; const productJson = document.querySelector("#product-json"); if (productJson && productJson.textContent && JSON.parse(productJson.textContent)) { productJson.textContent = JSON.stringify(e.detail); } if (this.win.jQuery && this.win.jQuery.fn && this.win.jQuery(document).data("djproduct")) { this.win.jQuery(document).data("djproduct", e.detail); } }); return () => { let productData = null; if (this.win.jQuery && this.win.jQuery.fn) { try { let product = this.win.jQuery(document).data("djproduct"); if (product) { productData = JSON.parse(JSON.stringify(product)); } else { productData = null; } } catch (error) { productData = null; } } if (!productData) { const productJson = document.querySelector("#product-json"); productData = (productJson && productJson.textContent && JSON.parse(productJson.textContent)) || null; } return productData; }; })(); initRebate = this.win.SPZCore.Types.debounce( this.win, (async (data, variantChange) => { let discount_list = Object.assign([], this.rebateInfo.discount_list); /* 按子商品的多少对优惠信息进行排序 */ discount_list && discount_list.sort((a, b) => { return b.variant_ids.length - a.variant_ids.length; }); /* 选中子商品时 筛选子商品的优惠信息 */ if (data.selected && data.selected.id) { discount_list = this.getVariantDiscountId(data.selected.id); } /* 无满减信息 */ if (!(discount_list && discount_list.length)) { return; } const isSection = !!document.querySelector( `div[data-section-type^="shoplazza://apps/publicapp/blocks/rebate"] #rebate_custom_component` ); if ( (this.rebateInfo.rebate_type == "sku" && data && data.selected && data.selected.id) || this.rebateInfo.rebate_type == "spu" ) { let nowLandpage = this.landPage; if (discount_list[0]) { nowLandpage = this.landPage + discount_list[0].discount_id || ""; } const info = { rebate: discount_list[0], maxShowCount: this.win.innerWidth > 768 ? 3 : 1, landPage: nowLandpage, modalFooterImg: `url(${`${this.win.SHOPLAZZA["image_domain"]}oss/operation/e8ebb03dbb710457ca3b4b6a70898ab2.svg`})`, }; this.renderData = info; if(isSection) { SPZ.whenApiDefined( document.getElementById("app_rebate_section") ).then(apis => { apis.render(info, true); }); } else { // 重新渲染 抖动问题处理 this.templates_ = SPZServices.templatesForDoc(); const newTplDom = await this.templates_.renderTemplate(document.querySelector('#appRebateBlockTpl'), info) const parentDiv = document.querySelector('#app_rebate_block'); const oldDom = parentDiv.querySelector('.app_rebate_list'); if(oldDom){ parentDiv.replaceChild(newTplDom, oldDom); } else { parentDiv.appendChild(newTplDom); } } } this.insertSlideTag(this.rebateInfo.tag, variantChange); var pluginCurrencyEvent = new CustomEvent("plugin_currency_update"); document.dispatchEvent(pluginCurrencyEvent); }).bind(this), 10 ); getRebateInfo = async () => { if (this.initData && this.initData.product && this.initData.product.id) { var variant_ids = this.initData.product.variants.map(variant => variant.id); const res = await this.xhr_.fetchJson( "\/api\/discount-rebate\/product-discount", { method: "POST", body: { product_id: this.initData.product.id, product_type: this.initData.product.product_type, variant_ids: variant_ids, }, } ); if (!SPZCore.Types.isEmptyObject(res.rebate_info)) { res.rebate_info.tag = res.tag; res.rebate_info.rebate_type = res.rebate_type; this.rebateInfo = res.rebate_info; this.initRebate(this.initData); } else { if (this.win.top !== this.win.self) { const noActivity = document.getElementById("no-rebate-activity"); noActivity && (noActivity["style"].display = "block"); } } } }; getVariantDiscountId = (variant_id) => { if (!variant_id || !this.rebateInfo) return []; var rebateId = this.rebateInfo.variant_discount_map[variant_id]; return this.rebateInfo.discount_list.filter(item => item.discount_id == rebateId) || []; }; insertSlideTag = (tag, variantChange) => { setTimeout(() => { if (tag) { var tag_container; var modal = document.getElementById("product-select-modal"); if (modal && modal.classList.contains("show")) { if (!variantChange && modal.querySelector(".slider-discount-tag")) return; if ( variantChange && modal.querySelector(".slider-discount-tag:not(.rebate-tag)") ) return; tag_container = modal; } else { var product_detail_card = document.querySelector( '.page_container > [data-section-type="product_detail"], .page_container > [data-section-type="product-template"]' ); if(!product_detail_card) return; if (!variantChange && product_detail_card.querySelector(".slider-discount-tag")) return; if (variantChange && product_detail_card.querySelector(".slider-discount-tag:not(.rebate-tag)")) return; tag_container = product_detail_card; } if (tag_container.matches("#product-select-modal") && this.pageType === 13 && document.documentElement.clientWidth < 768) return; const tagDom = `<div class="slider-discount-tag dj_skin_product_title rebate-tag">${tag}</div>` if (document.querySelector(".sep-loaded-slider")) { var loadedSlider = tag_container.querySelector(".sep-loaded-slider"); loadedSlider.querySelectorAll(".slider-discount-tag").forEach(function(element) { element.remove(); }); loadedSlider.insertAdjacentHTML("beforeend", tagDom); } else { if (tag_container.querySelector(".support-slick")) { var supportSlick = tag_container.querySelectorAll(".support-slick, .sep-slider"); supportSlick.forEach((element) => { element.querySelectorAll(".slider-discount-tag").forEach((element) => { element.remove(); }); element.insertAdjacentHTML("beforeend",tagDom); }); } else { var sepSlider = tag_container.querySelector(".sep-slider"); sepSlider.querySelectorAll(".slider-discount-tag").forEach(function(element) { element.remove(); }); sepSlider.insertAdjacentHTML("beforeend",tagDom); } } if (document.documentElement.clientWidth < 768) { const sliderDiscountTagHeight = tag_container.querySelector(".slider-discount-tag").offsetHeight || 0; document.querySelector(".product-image__swiper_bullets").style.bottom = `${sliderDiscountTagHeight + 15}px`; } } }, 1000); }; fetchInfoBar = () => { let discount_ids = []; if (this.pageType === 1) { discount_ids = this.rebateInfo && this.rebateInfo.discount_list.map(item => item.discount_id); } else if (this.pageType === 38) { discount_ids = [this.win.rebateObj.rebateCollection_id] || []; } const productObj = this.getProduct(); return this.xhr_.fetchJson("\/api\/discount-rebate\/global-text", { method: "POST", body: { product_type: productObj && productObj.product && productObj.product.product_type, line_items: (this.cart.line_items || []).map(item => ({ variant_id: item.variant_id, product_id: item.product_id, quantity: item.quantity, price: item.price, selected: !item.unchecked, })), discount_ids: discount_ids, }, }); }; renderBottomBanner = res => { if (!res.tips) return; if (document.querySelector(".discount__info-bar")) return; var bar_style = `background:linear-gradient(90deg,${res.config.background_color_start},${res.config.background_color_end}); color:${res.config.color};`; let data = { tips: res.tips, landPage: this.landPage + res.id, bar_style }; const html = SPZCore.Dom.htmlFor(this.element); const banner = html([ `<a impr="1" imprevt="1" id="rebate_bottom_bar" href=${data.landPage} class="discount__info-bar text-truncate" data-activity-type="rebate" style="${data.bar_style}">${data.tips}</a>`, ]); document.querySelector(".plugin-container__bottom-fixed").appendChild(banner); const pluginCurrencyEvent = new CustomEvent("plugin_currency_update"); document.dispatchEvent(pluginCurrencyEvent); if (res.id) { var trackParams = { page: this.pageType, discount_id: res.id, product_id: this.getProduct()?.product.id, }; banner.addEventListener("click", () => { this.win.sa && this.win.sa.track("plugin_rebate_promotion_click", { plugin_timestamp: Date.now(), plugin_location: "bottom_bar", product_id: trackParams.product_id, discount_id: trackParams.discount_id, }); }); this.win.sa && this.win.sa.track("plugin_rebate_banner_pv", trackParams); } }; showDiscountPopupsInfoBar = () => { if ([13, 14, 19, 30, 31].includes(this.pageType)) return; if (document.querySelector(".plugin-container__bottom-fixed .discount__info-bar")) return; this.fetchInfoBar().then(this.renderBottomBanner); document.addEventListener("dj.cartChange", () => { this.fetchInfoBar().then(this.renderBottomBanner); }); }; } SPZ.defineElement("spz-custom-rebate", SpzRebateComponent);
The current item does not participate in the discount gift campaign. Switch the participating items to check the design.
(This prompt will not be displayed on the client-side)
Material
Please select a material
Quantity

🐦Protect Your Hummingbird From Predator and Give A Sweet Home to Them.

🐦🐦2022 New Wooden Hummingbird House for Outside Hanging, Hummingbird Swing Hummingbird Nest for Hummingbird Finch Houses.

🐣Our birdhouses can be used in gardens, balconies, porches, tree trunks, and can also be hung in offices or wherever you want to hang outside or indoor.

undefined

🐣In some American myths, the hummingbird is a symbol of the sun god. In the new century, the habitat of hummingbirds is gradually shrinking with the destruction of forests!

undefined

You can put the grains or bugs that small birds like to eat, and the shape of the house will attract the birds to come and find food, so that the birds fall in love with this place where they can eat, and the shape of the house can also provide rest.

🌈Specifications

  • Handmade
  • Materials: Solid Wood

🌈Features

In early spring, hang a charming, decorative hummingbird house! Habits of the hummingbird include males migrating early to "stake" their territory out, and they can attract up to 25 females! While there is no guarantee they will use this decorative house (there are no guarantees with any birdhouse), they are a very attractive addition to any backyard or garden.

undefined

🌈Description

It can attract hummingbirds and can also be used as a beautiful garden decoration.Hummingbirds can flap their wings 15 to 80 times per second and need to eat once every 10 minutes.

Each hummingbird house has its own personality and no two are alike. Shapes and styles may vary. Approximately 4.5" tall x 2" wide.

undefined

Our products are polished and buffed in an environmentally friendly way, so don't worry about it hurting the hummingbirds!
undefined
In early spring, hang a charming, decorative hummingbird house! Habits of the hummingbird include males migrating early to "stake" their territory out, and they can attract up to 25 females! While there is no guarantee they will use this decorative house (there are no guarantees with any birdhouse), they are a very attractive addition to any backyard or garden. If a nest is built near you, hatchlings will return the next year. Nests are the size of a penny. Eggs (2) are the size of a Tic Tac. Clean out the ornamental house each winter with an old bottle brush and take inside.
undefined
About hummingbird:
Hummingbirds are protected animals. All species of the hummingbird family are listed on the IUCN Red List of Threatened Species.
In some American myths, the hummingbird is a symbol of the sun god. In the 19th century, women in Europe and the United States often used hummingbird feathers as hat ornaments, and businessmen also bought hummingbird skins, which posed a great threat to the survival of hummingbirds, and in the new century, the habitat of hummingbirds is gradually shrinking with the destruction of forests!
If you love it, please give it a home!

🌟 Planting Seeds of Hope! 🌱 $1 Donated to UNICEF for Every Order.

At Garden-seed.com, we believe in the power of collective compassion. This New Year, as you embrace freshness and beauty, join us in making a positive impact on the lives of children in need.

❤️ For every purchase you make, a child in need gets a step closer to a brighter future.

How it Works?
Shop with Purpose: Every order you place contributes to our Seeds of Hope initiative. For each purchase, $1 will be donated to UNICEF.

Empower a Child: Your contribution helps provide education, healthcare, and support to children around the world. Together, we can make a meaningful difference.

🤝Be a Part of Something Beautiful:


❤️ Spread Love: Share the Seeds of Hope Campaign with your friends and family. Every share creates a ripple effect of kindness.

❤️ Tag Us: When you receive your order, share it on social media and tag us. We'll feature your posts and collectively celebrate the positive change we're making.

Join Us in Planting Seeds of Hope!
Let your purchase be more than just a transaction; let it be a gesture of love and hope for those who need it most. Together, we can sow the seeds of a brighter future.

🌟 Thank you for being a part of our Seeds of Hope Campaign! 🌟

Visit Garden-seed.com now to make your purchase with purpose!

Payment Security : SSL Encryption Technology Is Used To Ensure 100% Payment Security.

✅Payments Via PayPal®Debit and CreditCard.

Add to cart first, and Check out, then select Shipping method and Payment method.

If you checkout with a Debit / Credit Card, just enter your * Card Number* Expiration Date, and * Secure Code.

Dear Customer,

Purchase any product here and try it in the comfort of your own home for 30 days.
If for whatever reason you're not completely satisfied, then return the product within 30 days. Please contact our customer service team if you need to process a return for any reason, Please include your Order number and Name.

Worldwide Shipping 

Please do note that shipping is insured. However, you may receive your items earlier. Tracking Numbers will ALWAYS be sent so you can track it every step of the way! Cool things are worth waiting for! 😉
 
OUR GUARANTEE⭐📦 Insured Worldwide Shipping: Each order includes real-time tracking details and insurance coverage in the unlikely event that a package gets lost or stolen in transit.
 
💰Money-Back Guarantee:If your items arrive damaged within 15 days of normal usage, we will gladly issue out a replacement or refund.
 
✉️ 24/7 Customer Support: We have a team of live reps ready to help and answer any questions you have within a 24-hour time frame, 7 days a week. 
 
🔒 Safe & Secure Checkouts: If you bought it and felt that it is not for you, don't worry. Just shoot us a message at contact 📪customer@garden-seed.com, and we will make it right by offering you a replacement or refund. 100% Simple & Risk-Free process.