🌺Double Hollyhock Seeds🌺

Free shipping
Hot
/** * 优惠码组件模型类 * 处理优惠码的显示和交互逻辑 */ class SpzCustomDiscountCodeModel extends SPZ.BaseElement { constructor(element) { super(element); // 复制按钮和内容的类名 this.copyBtnClass = "discount_code_btn" this.copyClass = "discount_code_value" } isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } buildCallback() { // 初始化服务 this.action_ = SPZServices.actionServiceForDoc(this.element); this.templates_ = SPZServices.templatesForDoc(this.element); this.xhr_ = SPZServices.xhrFor(this.win); } /** * 渲染优惠码组件 * @param {Object} data - 渲染数据 */ doRender_(data) { return this.templates_ .findAndRenderTemplate(this.element, Object.assign(this.getDefaultData(), data) ) .then((el) => { this.clearDom(); this.element.appendChild(el); // 绑定复制代码功能 this.copyCode(el, data); }); } /** * 获取渲染模板 * @param {Object} data - 渲染数据 */ getRenderTemplate(data) { const renderData = Object.assign(this.getDefaultData(), data); return this.templates_ .findAndRenderTemplate(this.element, renderData) .then((el) => { this.clearDom(); return el; }); } /** * 清除DOM内容 */ clearDom() { const children = this.element.querySelector('*:not(template)'); children && SPZCore.Dom.removeElement(children); } /** * 获取默认数据 * @returns {Object} 默认数据对象 */ getDefaultData() { return { isMobile: appDiscountUtils.judgeMobile(), isRTL: appDiscountUtils.judgeRTL(), image_domain: this.win.SHOPLAZZA.image_domain, copyBtnClass: this.copyBtnClass, copyClass: this.copyClass } } /** * 复制优惠码功能 * @param {Element} el - 当前元素 */ copyCode(el) { const copyBtnList = el.querySelectorAll(`.${this.copyBtnClass}`); if (copyBtnList.length > 0) { copyBtnList.forEach(item => { item.onclick = async () => { // 确保获取正确的元素和内容 const codeElement = item.querySelector(`.${this.copyClass}`); if (!codeElement) return; // 获取纯文本内容 const textToCopy = codeElement.innerText.trim(); // 尝试使用现代API,如果失败则使用备用方案 try { if (navigator.clipboard && navigator.clipboard.writeText) { await navigator.clipboard.writeText(textToCopy); } else { throw new Error('Clipboard API not available'); } // 显示复制成功提示 this.showCopySuccessToast(textToCopy, el); } catch (err) { console.error('Modern clipboard API failed, trying fallback...', err); // 使用备用复制方案 this.fallbackCopy(textToCopy, el); } const discountId = item.dataset["discountId"]; // 跳转决策: is_redirection + link(可选覆盖) const setting = { is_redirection: item.dataset["redirection"] === "true", link: item.dataset["link"], }; const landingUrl = `/promotions/discount-default/${discountId}`; const finalUrl = appDiscountUtils.resolveDiscountHref(setting, landingUrl); if (finalUrl && appDiscountUtils.inProductBody(this.element)) { this.win.open(finalUrl, '_blank', 'noopener'); } } }) } } /** * 使用 execCommand 的复制方案 * @param {string} codeText - 要复制的文本 * @param {Element} el - 当前元素 */ fallbackCopy(codeText, el) { const textarea = this.win.document.createElement('textarea'); textarea.value = codeText; // 设置样式使文本框不可见 textarea.style.position = 'fixed'; textarea.style.left = '-9999px'; textarea.style.top = '0'; // 添加 readonly 属性防止移动端虚拟键盘弹出 textarea.setAttribute('readonly', 'readonly'); this.win.document.body.appendChild(textarea); textarea.focus(); textarea.select(); try { this.win.document.execCommand('copy'); // 显示复制成功提示 this.showCopySuccessToast(codeText, el); } catch (err) { console.error('Copy failed:', err); } this.win.document.body.removeChild(textarea); } /** * 创建 Toast 元素 * @returns {Element} 创建的 Toast 元素 */ createToastEl_() { const toast = document.createElement('ljs-toast'); toast.setAttribute('layout', 'nodisplay'); toast.setAttribute('hidden', ''); toast.setAttribute('id', 'discount-code-toast'); toast.style.zIndex = '1051'; return toast; } /** * 挂载 Toast 元素到 body * @returns {Element} 挂载的 Toast 元素 */ mountToastToBody_() { const existingToast = this.win.document.getElementById('discount-code-toast'); if (existingToast) { return existingToast; } const toast = this.createToastEl_(); this.win.document.body.appendChild(toast); return toast; } /** * 复制成功的提醒 * @param {string} codeText - 要复制的文本 * @param {Element} el - 当前元素 */ showCopySuccessToast(codeText, el) { const $toast = this.mountToastToBody_(); SPZ.whenApiDefined($toast).then(toast => { toast.showToast("Discount code copied !"); this.codeCopyInSessionStorage(codeText); }); } /** * 复制优惠码成功后要存一份到本地存储中,购物车使用 * @param {string} codeText - 要复制的文本 */ codeCopyInSessionStorage(codeText) { try { sessionStorage.setItem('other-copied-coupon', codeText); } catch (error) { console.error(error) } } } // 注册自定义元素 SPZ.defineElement('spz-custom-discount-code-model', SpzCustomDiscountCodeModel);
/** * Custom discount code component that handles displaying and managing discount codes * @extends {SPZ.BaseElement} */ class SpzCustomDiscountCode extends SPZ.BaseElement { constructor(element) { super(element); // API endpoint for fetching discount codes this.getDiscountCodeApi = "\/api\/storefront\/promotion\/code\/list"; // Debounce timer for resize events this.timer = null; // Current variant ID this.variantId = "f5847365-570b-421f-a6d9-39aec7c6662e"; // Store discount code data this.discountCodeData = {} } /** * Check if layout is supported * @param {string} layout - Layout type * @return {boolean} */ isLayoutSupported(layout) { return layout == SPZCore.Layout.LOGIC; } /** * Initialize component after build */ buildCallback() { this.templates_ = SPZServices.templatesForDoc(); this.viewport_ = this.getViewport(); // Bind methods to maintain context this.render = this.render.bind(this); this.resize = this.resize.bind(this); this.switchVariant = this.switchVariant.bind(this); } /** * Setup component when mounted */ mountCallback() { this.getData(); // Add event listeners this.viewport_.onResize(this.resize); this.win.document.addEventListener('dj.variantChange', this.switchVariant); } /** * Cleanup when component is unmounted */ unmountCallback() { this.viewport_.removeResize(this.resize); this.win.document.removeEventListener('dj.variantChange', this.switchVariant); // 清除定时器 if (this.timer) { clearTimeout(this.timer); this.timer = null; } } /** * Handle resize events with debouncing */ resize() { if (this.timer) { clearTimeout(this.timer) this.timer = null; } this.timer = setTimeout(() => { if (appDiscountUtils.inProductBody(this.element)) { this.render(); } else { this.renderSkeleton(); } }, 200); } /** * Handle variant changes * @param {Event} event - Variant change event */ switchVariant(event) { const variant = event.detail.selected; if (variant.product_id == '00d5ade6-ab7c-410d-a237-67bc5af496a0' && variant.id != this.variantId) { this.variantId = variant.id; this.getData(); } } /** * Fetch discount code data from API */ getData() { if (appDiscountUtils.inProductBody(this.element)) { const reqBody = { product_id: "00d5ade6-ab7c-410d-a237-67bc5af496a0", variant_id: this.variantId, product_type: "default", } if (!reqBody.product_id || !reqBody.variant_id) return; this.discountCodeData = {}; this.win.fetch(this.getDiscountCodeApi, { method: "POST", body: JSON.stringify(reqBody), headers: { "Content-Type": "application/json" } }).then(async (response) => { if (response.ok) { let data = await response.json(); if (data.list && data.list.length > 0) { data.list[0].product_setting.template_config = JSON.parse(data.list[0].product_setting.template_config); // Format timestamps to local timezone const zone = this.win.SHOPLAZZA.shop.time_zone; data.list = data.list.map(item => { if(+item.ends_at !== -1) { item.ends_at = appDiscountUtils.convertTimestampToFormat(+item.ends_at, zone); } item.starts_at = appDiscountUtils.convertTimestampToFormat(+item.starts_at, zone); return item; }); } this.discountCodeData = data; this.render(); } else { this.clearDom(); } }).catch(err => { console.error("discount_code", err) this.clearDom(); }); } else { this.renderSkeleton(); } } /** * Clear component DOM except template */ clearDom() { const children = this.element.querySelector('*:not(template)'); children && SPZCore.Dom.removeElement(children); } /** * Render discount codes with formatted dates */ render() { // Render using discount code model SPZ.whenApiDefined(document.querySelector('#spz_custom_discount_code_model')).then(renderApi => { renderApi.doRender_({ discountCodeData: this.discountCodeData }) }).catch(err => { this.clearDom(); }) } renderSkeleton() { // Render template for non-product pages this.templates_ .findAndRenderTemplate(this.element, { isMobile: appDiscountUtils.judgeMobile() }) .then((el) => { this.clearDom(); this.element.appendChild(el); }) .catch(err => { this.clearDom(); }); } } // Register custom element SPZ.defineElement('spz-custom-discount-code', SpzCustomDiscountCode);
Sold 1204 only 999999999 item(s) left
$22.99 $39.98 Save $16.99
Sold 1204
Color:  Red
Quantity:  100 Seeds (30% Off)
Quantity
/** @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-1651799308132').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);
Free worldwide shipping
Free returns
Sustainably made
Secure payments
Share the love
Description

🪴We are committed to providing our customers with quality, affordable seeds. 🌱

💵 Payments Via PayPal®
😍 99.3% of customers buy 2 items(10% Off)  or more to share with family or friends
✨Priority is given to delivery after payment
✈ Worldwide Express Shipping Available

Non-fading bold pattern for sun and shade.

Hollyhock is a hardy biennial flowering plant that produces fully-double scarlet, pink, white, purple, brown and yellow flowers on sturdy spikes.

It grows up to 5-6 feet tall and blooms from May to October, attracting hummingbirds and butterflies.

It's great for cottage, wildflower, and flower gardens.

The seeds can be planted in August or September and established plants grow in full sun and well-drained soil, tolerating a wide range of soil conditions and some light shade.

Hollyhocks are short-lived but easily self-seed and can persist for years.

  • Season: Biennial
    Height: 60-72 Inches
    Bloom Season: Summer
    Environment: Sun/Partial Shade
    Soil Type: Rich/Average/Moist well-drained, pH 6.1-7.8
    USDA Zones: 3-10
  • Sow Indoors: Spring (6-8 weeks before last frost)
    Sow Outdoors: Spring/Fall
    Seed Depth: 1/8 Inch
    Germination Time: 21-28 Days

FAQ

01

When to Plant Hollyhock Seeds

Direct Sow approximately one week before the threat of frost has passed. Hollyhocks can also be sown indoors approximately 9 weeks before your final frost and transferred outdoors about 2-3 weeks after the final frost has passed.

02

Where to Plant Hollyhock Seeds?

Plant hollyhocks, in moist, rich, and well-draining soil that gets full sun exposure - though they can tolerate Partial Shade. One of the significant causes of hollyhock failure is planting in soil that is too dry.

03

How to Plant Hollyhock Seeds?

Hollyhock seeds require light to germinate, so be careful not to cover them when planting. 

Hollyhocks may benefit from a 12 hour soak in warm water, but it is not needed. Direct sow outdoors onto the surface of the soil and compress firmly, but do not cover. Hollyhocks require sunlight to germinate. If starting indoors, use tall, individual pots to transplant, as Hollyhocks have long taproots.

04

How to Care for Hollyhock?

Hollyhocks are a short-lived perennial, tending to last about 2-3 years. This lifespan can be extended by removing flowers as soon as they fade. In non-tropical climates, you can cut your hollyhocks down and mulch in order to give them longer life as well. Hollyhocks can also be susceptible to rust, which will usually infect lower-growing leaves, but can spread upwards. Prevent rust by watering from below, and promoting good air circulation between your hollyhocks.

Are double hollyhocks perennial? Double Hollyhocks are perennial, meaning they will come back each year. Winter hardy as far north as Zone 3, these hollyhocks do not need to be dug up and stored. After your flowers bloom, deadheading wilted flowers will encourage reblooming.
 
Plant them in a sunny location, spacing the plants about 12 to 18 inches apart. As hollyhocks will spread when new seed is dropped, you might consider allowing three to four feet of space in the garden, so the area can fill out within a few years. Keep new plantings well-watered to help get them established.

07

Hollyhocks are biennial or short-lived perennials. In the first year they put on root and foliage growth and in the second they flower, set seed and then die.

08

Hollyhocks are easy to grow, although many varieties are biennial and take two years from seed to flower.

09

The best place to plant hollyhocks is in a well-draining area that enjoys full sun to partial shade. However, because hollyhock plants typically grow to be quite high, they need to be protected from damaging winds through support such as a trellis, wall or fence.

10

Hollyhocks. These flowers are also non-poisonous to dogs or cats, but you need to be careful about the stems and leaves as they may have resin or fiber which may cause some skin allergies.

11

Hollyhocks are beautiful cottage garden plants, so they pair well with many perennials and shrubs in those types of gardens. Roses, rose mallow, tall garden phlox, delphiniums, peonies, ornamental grasses and foxgloves are just some of the plants that can be grouped with hollyhocks in the garden.

12

How to prevent hollyhocks from diseases?

Hollyhock rust and powdery mildew are fungal diseases that thrive in humid and damp conditions. To prevent these diseases, choose a sunny, well-ventilated location for planting, prune regularly, avoid watering the leaves, and fertilize regularly to strengthen the plant's immunity. To prevent beetle damage, inspect the plants regularly and control them with organic insecticides such as onion, garlic, or chili if needed.

13

  1. Use supports: Stick some sturdy poles, wooden stakes, or metal frames around the plants. Insert them into the soil and secure them to the main stems or significant branches for extra support.

  2. Embrace plant grids: Set up or install plant grids around your plants and let the stems intertwine with the grid, adding stability and preventing them from flopping over.

  3. Trim and prune: Keep up with regular pruning to encourage branching and side shoots, enhancing overall structure and stability.

  4. Improve the soil: Ensure your soil is enriched with organic matter, maintaining proper moisture levels and good drainage, which promotes healthy growth and robust root development.

  5. Wind protection: In windy areas, consider using windbreak netting or fences to reduce the impact of strong winds on your plants and shield them.

Our Guarantee
  We truly believe we carry some of the most innovative products in the world, and we want to make sure we back that up with a risk-free 90-day 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.
  Buying items online can be a daunting task, so we want you to realize that there is absolutely ZERO risks in buying something and trying it out.  If you don't like it, no hard feelings we'll make it right.
  We have 24/7/365 Ticket and Email Support. Please contact us if you need assistance.

💳 Shop with ease and choose your favorite payment method:

🌐 Choose a payment method: During checkout, you can connect your PayPal account, credit card, debit card, or bank account. We support multiple payment methods, ensuring you have flexible payment options.

🔐 Secure Login: If you choose PayPal, you can securely log into your PayPal account. If using a credit card, you can choose Credit Card Express for quick payment. Enter your payment information, making sure it is accurate.

🛍 Submit order: After completing product selection, click Submit order. Next, you will be directed to PayPal to complete the transaction. If you choose to pay by credit card, you will see the option to "Pay with credit or debit card."

🏠 Confirm Address: Confirm or enter your address information on PayPal to ensure your order will be shipped to your desired address. Click "Submit" to continue.

💸 Payment Processing: Your payment will be processed securely. After successful payment, the system will send a detailed payment invoice to your email to confirm your purchase.

If you'd like to check out by credit card, click on PayPal and select "Pay with debit or credit card" for express checkout.

✨ Simple, safe and convenient, start your happy shopping trip! 🛒🌐

🪴We are committed to providing our customers with quality, affordable seeds. 🌱💵Payments Via PayPal😍 99.3% of customers buy 2items(10% Off) or more to share with family or friends✨Priority is given to delivery after payment✈Worldwide Express Shipping AvailableNon-fading bold pattern for sun and shade.Hollyhock is a hardy biennial flowering plant that produces fully-double scarlet, pink, white, purple, brown and yellow flowers on sturdy spikes.It grows up to 5-6 feet tall and blooms from May to October, attracting hummingbirds and butterflies.It's great for cottage, wildflower, and flower gardens.The seeds can be planted in August or September and established plants grow in full sun and well-drained soil, tolerating a wide range of soil conditions and some light shade.Hollyhocks are short-lived but easily self-seed and can persist for years.Season: BiennialHeight: 60-72 InchesBloom Season: SummerEnvironment: Sun/Partial ShadeSoil Type: Rich/Average/Moist well-drained, pH 6.1-7.8USDA Zones: 3-10Sow Indoors: Spring (6-8 weeks before last frost)Sow Outdoors: Spring/FallSeed Depth: 1/8 InchGermination Time: 21-28 DaysFAQ01When to Plant Hollyhock SeedsDirect Sow approximately one week before the threat of frost has passed. Hollyhocks can also be sown indoors approximately 9 weeks before your final frost and transferred outdoors about 2-3 weeks after the final frost has passed.02Where to Plant Hollyhock Seeds?Plant hollyhocks, in moist, rich, and well-draining soil that gets full sun exposure - though they can tolerate Partial Shade. One of the significant causes of hollyhock failure is planting in soil that is too dry.03How to Plant Hollyhock Seeds?Hollyhock seeds require light to germinate, so be careful not to cover them when planting.Hollyhocks may benefit from a 12 hour soak in warm water, but it is not needed. Direct sow outdoors onto the surface of the soil and compress firmly, but do not cover. Hollyhocks require sunlight to germinate. If starting indoors, use tall, individual pots to transplant, as Hollyhocks have long taproots.04How to Care for Hollyhock?Hollyhocks are a short-lived perennial, tending to last about 2-3 years. This lifespan can be extended by removing flowers as soon as they fade. In non-tropical climates, you can cut your hollyhocks down and mulch in order to give them longer life as well. Hollyhocks can also be susceptible to rust, which will usually infect lower-growing leaves, but can spread upwards. Prevent rust by watering from below, and promoting good air circulation between your hollyhocks.05Are double hollyhocks perennial?Are double hollyhocks perennial?Double Hollyhocks are perennial, meaning they will come back each year. Winter hardy as far north as Zone 3, these hollyhocks do not need to be dug up and stored. After your flowers bloom, deadheading wilted flowers will encourage reblooming.06Do double hollyhocks spread?Plant them in a sunny location, spacing the plants about 12 to 18 inches apart. Ashollyhocks will spread when new seed is dropped, you might consider allowing three to four feet of space in the garden, so the area can fill out within a few years. Keep new plantings well-watered to help get them established.07Do hollyhocks come back every year?Hollyhocks arebiennial or short-lived perennials. In the first year they put on root and foliage growth and in the second they flower, set seed and then die.08How many years will hollyhocks bloom?Hollyhocks are easy to grow, although many varieties are biennial and taketwo yearsfrom seed to flower.09Where is the best place to plant hollyhocks?The best place to plant hollyhocks is in a well-draining area that enjoys full sun to partial shade. However, because hollyhock plants typically grow to be quite high, they need to be protected from damaging winds through support such as a trellis, wall or fence.10Are hollyhocks poisonous to dogs?Hollyhocks. These flowers are alsonon-poisonousto dogs or cats, but you need to be careful about the stems and leaves as they may have resin or fiber which may cause some skin allergies.11What pairs well with hollyhocks?Hollyhocks are beautiful cottage garden plants, so they pair well with many perennials and shrubs in those types of gardens.Roses, rose mallow, tall garden phlox, delphiniums, peonies, ornamental grasses and foxglovesare just some of the plants that can be grouped with hollyhocks in the garden.12How to prevent hollyhocks from diseases?Hollyhock rust and powdery mildew are fungal diseases that thrive in humid and damp conditions. To prevent these diseases, choose a sunny, well-ventilated location for planting, prune regularly, avoid watering the leaves, and fertilize regularly to strengthen the plant's immunity. To prevent beetle damage, inspect the plants regularly and control them with organic insecticides such as onion, garlic, or chili if needed.13When planting tall and linear plants, you may encounter the issue of them