【Anniversary month 8% off Code: ANN25】Buy 4 Get 1 Free + Free shipping for order €45
5 / 12
21% OFF
diyhomever

【Wholesale Discount】Magnetic Poster Hanger Frames

【France/Germany/Belgium/Netherlands 】+5% VAT will be calculated at checkout

638681.01

€10.99 €13.99
58 sold
Style - Black 204mm
Wholesale Discount
Qty 195 in stock
Magnetic Poster Hanger DIY Painting Photo Frame Teak Wooden Picture Canvas Wall Art Craft Home Decor
Feature:
Decorative sense: Use this wooden hanging scroll to decorate your living space, upgrade the look and feel of the walls, and decorate your home and office.
Suitable size: This size is very suitable for hanging artworks, photos, pictures, movie and band posters, maps, etc., to make your wall decorations more popular.
Quality Assurance: This kind of frame is made of solid wood, which is strong, durable, moisture-proof and anti-corrosion. Our authentic teak wood grain creates a warm, decorative style, adding elegance and art to any room.
Multifunctional: You can change the items you want to hang at will! The magnetic hanging scroll is divided into two parts. Each part is composed of two wooden strips and a super magnet. The magnet can fix the wooden strips together. You can reuse it again and again without damaging or puncturing your canvas, posters, photos and other artworks
Easy to install: The magnetic hanging scroll is very easy to install-you only need nails or thumbtacks. The powerful magnetic stripe and white wood keep posters, canvases, tapestries, even fabrics and decorative tea towels flat and beautiful.

Specification:
Material: black teak magnet hanging scroll
Length: 204mm/8.03in; 305mm/12.01in; 407mm/16.02in; 508mm/20in

Note:
Due to the production and cutting process, there may be some carbon dust on the surface of the product. This is a normal phenomenon. It is not a quality problem. Use a soft cloth to wipe it lightly.
Please allow 1-2cm measuring deviation due to manual measurement.
Package Content:
4 X Magnetic Teak Woods
1 X Rope

Note to Retail Shops: We have only recently started to offer wholesale Diamond painting kit to stores.

WHOLESALE DISCOUNT

€300 - $30 code:DHEWH30
€500 - $50 code:DHEWH50
€800 - $80 code:DHEWH80
€1000 - $100 code:DHEWH100
€2000 - $200 code:DHEWH200
€3000 - $300 code:DHEWH300

Buy More Save More
Extra Bonus for our ecommerce customers(also can enjoy sitewide promotion Buy 4 get 1 Free)


If you are a Retailer and would be interested in selling our Diamond painting kit please click on the link below, or if you have any queries please email us at the addresses below:
service@diyhomever.com
Diyhomever is our publisher and distributor to Retail stores around the world.

We accept the following payment method:
-PayPal

PayPal: the most convenient payment method in the world

We primarily uses PayPal to process secure payments. Through PayPal, we accept MasterCard, VISA, American Express, Discover, and bank transfer (debit card).You can connect your PayPal, credit card, debit card or bank account to PayPal for purchasing some of our products. After submitting an order, you will be redirected to PayPal to complete the transaction.
1.Log in to your PayPal account or use Credit Card Express;
2.Enter your card details and the order will be shipped to your PayPal address. Then click “Submit”;
3.Your payment will be processed and an invoice will be sent to your e-mail address;
NOTE: Your order will be shipped to your PayPal address. Please ensure that it is correct and complete.

At diyhomever, we care about the speed of delivery. We understand that the delivery of goods to your hand nimbly is important.

About Shipping
Receiving time = Processing time +Shipping time 
Processing time: 1-2 business days.This typically takes 1 to 2 days; however, it may take longer time due to order surge.

Free shipping for orders over €45, Between 7 - 13 days average 

NOTES:

1.Order Processing: The amount of time it takes for us to prepare your order for shipping. This typically takes 1 to 2 days; however, it may take longer time due to order surge.
2. Delivery time: The amount of time it takes to receive your order after your order has been shipped. Delivery times can vary depending on your location and shipping methods.
3. We offer worldwide shipping with checking number. 

Track Your Order

It may take up to 5 business days after your order has shipped for your tracking information to become available online (it might take longer depending on how fast the postal services are processing shipments).

You May Also Like Don't Like These?
/** @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-1751096733597').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);
Customer Reviews
Here are what our customers say.
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.