🪴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.
05
Are 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.
06
Do double hollyhocks spread?
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
Do hollyhocks come back every year?
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
How many years will hollyhocks bloom?
Hollyhocks are easy to grow, although many varieties are biennial and take two years from seed to flower.
09
Where 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.
10
Are hollyhocks poisonous to dogs?
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
What 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 foxgloves are just some of the plants that can be grouped with hollyhocks in the garden.
12
Your shopping bag is empty
Continue shopping
*${item.quantity}
${item.item_text}
${discount_item.title}
(- )
${ data.originData.message }
${function () {
if (!data.originData) return "";
let {
apply_scenario,
discount_info,
landing_page_info,
threshold_category
} = data.originData;
const progressDom = ` `;
const { mobile_layout, show_add_to_cart, show_discount_label } = landing_page_info.product_display;
const isBXGY = discount_info.discount_type === "DT_CODE_BXGY";
const buyProductsDom = `
`;
const obtainProductsDom = `
`;
const is_obtain = threshold_category === 'THRESHOLD_CATEGORY_OBTAIN_PRODUCT' ? 'active' : '';
const tabsDom = `
${function(){
let liDom = '';
const items = [
{
text: landing_page_info.product.buy_product.text,
class: "",
value: 1
},
{
text: landing_page_info.product.obtain_product.text,
class: "cart-coupon-code-modal-tab__obtain",
value: 2,
is_obtain
}
];
for (item of items) {
liDom += `
${ item.text }
`
}
return liDom;
}()}
${buyProductsDom}
${obtainProductsDom}
`;
return `
${progressDom}
${isBXGY ? tabsDom : `
${buyProductsDom}
`}
`
}()}
const TAG = 'spz-custom-cart-coupon-code-utils';
class SpzCustomCartCouponCodeUtils extends SPZ.BaseElement {
constructor(element) {
super(element);
}
static deferredMount() {
return false;
}
isLayoutSupported(layout) {
return layout == SPZCore.Layout.LOGIC;
}
buildCallback() {
this.action_ = SPZServices.actionServiceForDoc(this.element);
this.keepOpenGuardBound_ = false;
this.registerAction('setSideBarHeight', this.setSideBarHeight_.bind(this));
this.onResize_ = this.setSideBarHeight_.bind(this);
window.addEventListener('resize', this.onResize_);
}
detachedCallback() {
if (this.onResize_) {
window.removeEventListener('resize', this.onResize_);
this.onResize_ = null;
}
}
ensureKeepOpenGuard_($sideBar) {
if (this.keepOpenGuardBound_) return;
this.keepOpenGuardBound_ = true;
const observer = new MutationObserver(() => {
if ($sideBar.hasAttribute('open') && $sideBar.hasAttribute('hidden')) {
$sideBar.removeAttribute('hidden');
this.setSideBarHeight_();
}
});
observer.observe($sideBar, { attributes: true, attributeFilter: ['hidden', 'open'] });
}
getOpenDrawer_() {
return document.querySelector('[data-section-type="cart_drawer"] spz-sidebar[open]');
}
setSideBarHeight_() {
const $sideBar = document.querySelector('#cart-coupon-code-modal');
if (!$sideBar) return;
this.ensureKeepOpenGuard_($sideBar);
const windowHeight = window.innerHeight;
const $drawer = this.getOpenDrawer_();
if (!$drawer) {
$sideBar.style.setProperty('max-height', windowHeight * 0.9 + 'px', 'important');
$sideBar.style.removeProperty('height');
$sideBar.style.removeProperty('width');
$sideBar.classList.remove('cart-coupon-code-modal--in-drawer');
return;
}
const drawerHeight = (windowHeight - 40) + 'px';
$sideBar.style.setProperty('max-height', drawerHeight, 'important');
$sideBar.style.setProperty('height', drawerHeight, 'important');
$sideBar.classList.add('cart-coupon-code-modal--in-drawer');
const rect = $drawer.getBoundingClientRect();
if (rect.width > 0) {
$sideBar.style.setProperty('width', rect.width + 'px', 'important');
}
}
}
SPZ.defineElement(TAG, SpzCustomCartCouponCodeUtils);
${function(){
const settings_product_image_hover_on = true;
const variantShowLimit = 4;
const private_id = 'product-tmpl-' + Math.random().toFixed(6).slice(-6);
const product_variants = data.variants || [];
const product_id = data.id;
const images = data.images || [];
const image = data.image || {};
const imageWidth = image.width;
let imageHeight = image.height;
const price = Number(data.price_min);
let compareAtPrice = Number(data.compare_at_price);
const type = data.type;
const isMock = data.isMock;
let product_image_hover_on = false;
for (item of product_variants) {
const vcap = Number(item.compare_at_price);
if (item.price == price && vcap > compareAtPrice) {
compareAtPrice = vcap;
}
}
let second_image = null;
if (settings_product_image_hover_on) {
for (img of images.slice(1)) {
if (img.src && img.src.indexOf('video=') === -1) {
second_image = img;
product_image_hover_on = true;
break;
}
}
}
const sold_label_on = !data.available;
let sale_label_on = false;
if (compareAtPrice > price && data.available) {
sale_label_on = true;
}
const diffPrice = compareAtPrice - price;
return `
${data.available ?
`
` : ''}
`;
}()}
const carousel = document.getElementById('marketing-quick-view-images');
const selector = document.getElementById('marketing-quick-view-thumb-images');
const resizeObserver = new ResizeObserver(entries => {
for (let entry of entries) {
const { height } = entry.contentRect;
selector.style.height = height + 'px';
}
});
resizeObserver.observe(carousel);
${function(){
const variantsNamesSet = new Set(data.options.map((opt) => opt.name.toLowerCase()) || []);
const handleName = (name) => name.replace(/\/|\\|\s|\'|\"|`|\<|\>/g, '');
const mouseoutevent = data.options.map((opt) => `@${handleName(opt.name)}Mouseout="qv-selected-render-${opt.id}.rerender(data=event,redo=true);"`).join(' ');
const mouseoverevent = data.options.map((opt) => `@${handleName(opt.name)}Mouseover="qv-selected-render-${opt.id}.rerender(data=event,redo=true);"`).join(' ');
const variants = data?.variants?.map((item) => item.image.path) || [];
const productData = data;
const images = data.images;
const selectedVariant = data.variants.find(v => v.available) || data.variants[0];
const selectedIndex = !!selectedVariant ? images.findIndex(img => img.src === (selectedVariant.image && selectedVariant.image.src)) : 0;
const initialSlide = selectedIndex === -1 ? 0 : selectedIndex;
return `
${images.map((image, index) => `
`).join('')}
${images.map(image => `
`).join('')}
${images.length > 1 ? `
` : ''}
`
}()}
${function(){
return (data.product.options || []).map((option, index) => {
const optionName = option.name || '';
const optionId = option.id || '';
return `
${optionName}:
${data.selectedValues[optionName]}
${option.values.map((value,idx) => {
const selected = data.selectedValues[optionName] == value ? 'checked' : '';
let thumbImage = null;
return `
${value}
`
}).join('')}
`
}).join('')
}()}
${function(){
const { currentOptName, originData: { selectData, value } } = data;
const optionValue = selectData ? selectData[currentOptName].value[0] : value;
return `${optionValue} `
}()}
${function(){
const productData = data.product;
const selectedVariant = productData.variants.find(v => v.available) || productData.variants[0];
const product_options = productData.options.filter(Boolean) || [];
const handleName = (name) => name.replace(/\/|\\|\s|\'|\"|`|\<|\>/g, '');
const mouseoutevent = productData.options.map((opt) => `@${handleName(opt.name)}Mouseout="qs-selected-render-${opt.id}.rerender(data=event,redo=true);"`).join(' ');
const mouseoverevent = productData.options.map((opt) => `@${handleName(opt.name)}Mouseover="qs-selected-render-${opt.id}.rerender(data=event,redo=true);"`).join(' ');
return `
` }()}
${function(){
return (data.product.options || []).map((option, index) => {
const optionName = option.name || '';
const optionId = option.id || '';
return `
${optionName}:
${data.selectedValues[optionName]}
${option.values.map((value,idx) => {
const selected = data.selectedValues[optionName] == value ? 'checked' : '';
let thumbImage = null;
return `
${value}
`
}).join('')}
`
}).join('')
}()}
${function(){
const { currentOptName, originData: { selectData, value } } = data;
const optionValue = selectData ? selectData[currentOptName].value[0] : value;
return `${optionValue} `
}()}
const TAG = 'spz-custom-marketing-utils';
class SpzCustomMarketingUtils extends SPZ.BaseElement {
constructor(element) {
super(element);
}
static deferredMount() {
return false;
}
isLayoutSupported(layout) {
return layout == SPZCore.Layout.LOGIC;
}
mountCallback() {
this.ensureToastInBody_('coupon-code-toast-wrap');
}
showCouponCodeToast_(message) {
this.ensureToastInBody_('coupon-code-toast-wrap');
const toastEl = document.getElementById('coupon-code-toast');
if (!toastEl) return;
SPZ.whenApiDefined(toastEl).then((apis) => {
apis.showToast(message);
});
}
ensureToastInBody_(id) {
const wrapEl = document.getElementById(id);
if (!wrapEl) return;
if (!wrapEl.closest('[data-section-type="cart_drawer"]')) return;
if (wrapEl.parentNode !== document.body) {
document.body.appendChild(wrapEl);
}
}
buildCallback() {
this.registerAction('addToCartTrigger', (invocation) => {
window.$ && $(document).trigger('dj.common.cart.change');
window.$ && $(document).trigger('dj.addToCart', invocation.event.detail);
});
this.registerAction('showAddToCartToast', () => {
this.showCouponCodeToast_("Added successfully");
});
}
}
SPZ.defineElement(TAG, SpzCustomMarketingUtils);
${function(){
if (data.status === 'APPLY_STATUS_SUCCESS' || !data.message) {
return `
`
}
return `
${data.originData.message}
Add
`
}()}
${data.map( item => {
return `
`
}).join('')}
${data.map( item => {
return `
`
}).join('')}
${function(){
const code_data = data.originData.list;
if (!code_data || !code_data.length) return '';
const recommendDom = `
Recommend discount codes
`;
const discountCodeListDom = code_data.map( item => {
item.end_at = item.end_at == -1 ? item.end_at : item.end_at * 1000;
item.start_at *= 1000;
return `
`
}).join('');
return `
${discountCodeListDom}
`
}()}
${function() {
const textArray = ("Save {{save_amount}}").split(/\{\{\s*save_amount\}\}/);
if (textArray.length > 0 && textArray.length < 2) {
textArray.push('');
}
return textArray.map((text, index) => {
if (index == 0) {
return `${text} `;
}
return `
${text}
`;
}).join('');
}()}
${function() {
const textArray = ("Save {{save_amount}}").split(/\{\{\s*save_amount\}\}/);
if (textArray.length > 0 && textArray.length < 2) {
textArray.push('');
}
return textArray.map((text, index) => {
if (index == 0) {
return `${text} `;
}
return `
${text}
`;
}).join('');
}()}
${discount_application.title}:
-
${data.invalid_msg}
Taxes and shipping calculated at checkout
Check out
${data.invalid_msg}
${function() {
const textArray = ("Save {{save_amount}}").split(/\{\{\s*save_amount\}\}/);
if (textArray.length > 0 && textArray.length < 2) {
textArray.push('');
}
return textArray.map((text, index) => {
if (index == 0) {
return `${text} `;
}
return `
${text}
`;
}).join('');
}()}
${function() {
const textArray = ("Save {{save_amount}}").split(/\{\{\s*save_amount\}\}/);
if (textArray.length > 0 && textArray.length < 2) {
textArray.push('');
}
return textArray.map((text, index) => {
if (index == 0) {
return `${text} `;
}
return `
${text}
`;
}).join('');
}()}
${function() {
const textArray = ("Save {{save_amount}}").split(/\{\{\s*save_amount\}\}/);
if (textArray.length > 0 && textArray.length < 2) {
textArray.push('');
}
return textArray.map((text, index) => {
if (index == 0) {
return `${text} `;
}
return `
${text}
`;
}).join('');
}()}
${discount_application.title}:
-
Check out
${data.invalid_msg}
Check out
Taxes and shipping calculated at checkout
Subtotal:
${discount_application.title}:
-
Check out
Taxes and shipping calculated at checkout
${function(){
console.log('quick-shop-render',data);
const productData = data.product;
let product_change_event = '',
mouse_over_event = ' ';
mouse_out_event = '';
const product_options = productData.options.filter(Boolean) || [];
const selectedVariant = productData.variants.find(v => v.available) || productData.variants[0];
const statusLan = ((selectedVariant && !selectedVariant.available) || (!selectedVariant && !productData.available)) ?
"Sold out" :
"Add to cart";
return `
`
}()}
${function(){
const currentSelectVariant = data.variant;
const defaultVariant = (data.product && data.product.variants && data.product.variants[0]);
const variantData = currentSelectVariant || defaultVariant || data;
const retail_price = variantData.retail_price || 0;
return `
`
}()}
${function(){
const wholesale_enabled = false;
const qty = data.quantity || 1;
const currentSelectVariant = data.variant;
const defaultVariant = (data.product && data.product.variants && data.product.variants[0]);
const productVariant = {"id":"caaf10bc-1dfb-4a07-bd8d-df1c431876fe","product_id":"50daad07-83ec-48e3-b871-c66f36e9ede6","title":"Red-50 Seeds (15% Off)","weight_unit":"g","inventory_quantity":2450,"sku":"YN23053101-\u7ea2\u8272\u8700\u8475-50\u7c92","barcode":"","position":1,"option1":"Red","option2":"50 Seeds (15% Off)","option3":"","note":"","image":null,"wholesale_price":[{"price":14.99,"min_quantity":1}],"weight":"500","compare_at_price":"29.98","price":"14.99","retail_price":"29.98","available":true,"url":"\/products\/double-hollyhock-seeds?variant=caaf10bc-1dfb-4a07-bd8d-df1c431876fe","available_quantity":999999999,"options":[{"name":"Color","value":"Red"},{"name":"Quantity","value":"50 Seeds (15% Off)"}],"off_ratio":"50","flashsale_info":{"variant_id":"caaf10bc-1dfb-4a07-bd8d-df1c431876fe","product_id":"","quantity":0,"discount_id":"","limit_time":0,"limit_buy":0,"user_limit_buy":0,"discount_sales":0,"discount_sales_rate":"","discount_stock":0,"ends_at":0,"starts_at":0,"allow_oversold":"","allocation_method":"","price":"14.99","compare_at_price":"","discount_price":"14.99","customary_saved_price":"","customary_off_ratio":"","discount_saved_price":"","discount_off_ratio":"50","use_before_price":false,"before_price":"","title":"","properties":"","color_setting_promotional_copy":"","discount_quantity":0,"is_need_split":false},"sales":0};
const variantData = currentSelectVariant || defaultVariant || productVariant;
const wholesale_price = variantData.wholesale_price || [];
if(wholesale_enabled && wholesale_price.length > 0) {
let wholesaleIndex = wholesale_price.findIndex(item => {
return item.min_quantity > qty;
});
if(wholesaleIndex < 0){
wholesaleIndex = wholesale_price.length - 1;
}else if(wholesaleIndex > 0){
wholesaleIndex = wholesaleIndex - 1;
}
const wholesalePrice = wholesale_price[wholesaleIndex] || '';
return `
`
}else {
const price = variantData && variantData.price;
return price != undefined ? `
` : ' ';
}
}()}
${function(){
const optionName = option.name || '';
const optionId = option.id || '';
let isThumbImage = !!option.showThumbImage;
const thumbStyle = "image_with_text";
const variantType = "button";
const isSelected = (value) => {
const selected = (data.selectedOptions || []).find(v => v.name === optionName);
return selected && selected.value.length && selected.value[0] == value;
};
const getThumbImage = (value) => {
const options = data.product.options || [];
const option = options.find(o => o.name === optionName);
if (option.thumbImages) {
const thumbImage = option.thumbImages.find(t => t.value === value);
if (thumbImage && thumbImage.image) {
return {
src: thumbImage.image.src,
alt: thumbImage.image.alt
};
}
}
return {src: '', alt: ''};
};
return `
${optionName}:
${data.selectedOptions && data.selectedOptions.length && data.selectedOptions.find(v => v.name === optionName).value[0]}
`
}()}
${data.value}