// === ANTLER FURNITURE SHORTCODES === add_shortcode('furniture_table', function($atts) { return ''; }); add_shortcode('mirror_table', function($atts) { return ''; }); // === ANTLER FURNITURE TABLE LOGIC === function get_furniture_product_data($product) { $data = []; $product_id = $product->get_id(); $variations = $product->is_type('variable') ? $product->get_children() : [$product_id]; foreach ($variations as $variation_id) { $variation = wc_get_product($variation_id); $row = []; // Size if applicable $size = $variation->get_attribute('pa_size'); if ($size) $row['size'] = $size; // Dimensions (for all but mirrors) $row['dimensions'] = join(' x ', array_filter([ get_field('furniture-length', $variation_id), get_field('furniture-width', $variation_id), get_field('furniture-height', $variation_id) ])); // Table Top (static) $row['table_top'] = "Glass Top Included
Contact us for other table top options"; // Finishes $finishes = wc_get_product_terms($variation_id, 'pa_finish', ['fields' => 'names']); $row['pa_finish'] = $finishes ? implode(', ', array_unique(array_map('trim', $finishes))) : ''; // Price $row['price'] = $variation->get_price_html(); $data[] = $row; } return $data; } function get_mirror_product_data($product) { $data = []; $product_id = $product->get_id(); $variations = $product->is_type('variable') ? $product->get_children() : [$product_id]; foreach ($variations as $variation_id) { $variation = wc_get_product($variation_id); $row = []; // Size if applicable $size = $variation->get_attribute('pa_size'); if ($size) $row['size'] = $size; // Dimensions $row['dimensions'] = join(' x ', array_filter([ get_field('mirror-length', $variation_id), get_field('mirror-width', $variation_id), get_field('mirror-height', $variation_id) ])); // Weight (optional) $weight = get_field('mirror-weight', $variation_id); if ($weight) $row['weight'] = $weight; // Hanging Options $hanging = wc_get_product_terms($variation_id, 'pa_vertical-or-horizontal', ['fields' => 'names']); $row['pa_vertical-or-horizontal'] = $hanging ? implode(', ', array_unique(array_map('trim', $hanging))) : ''; // Finishes $finishes = wc_get_product_terms($variation_id, 'pa_finish', ['fields' => 'names']); $row['pa_finish'] = $finishes ? implode(', ', array_unique(array_map('trim', $finishes))) : ''; // Price $row['price'] = $variation->get_price_html(); $data[] = $row; } return $data; } function render_product_table($data, $columns) { if (empty($data)) return ''; $output = ''; foreach ($columns as $key => $label) { $output .= ""; } $output .= ''; foreach ($data as $row) { $output .= ''; foreach ($columns as $key => $label) { $value = isset($row[$key]) ? $row[$key] : ''; $output .= ""; } $output .= ''; } $output .= '
{$label}
{$value}
'; return $output; } function get_current_trade_show_id() { return isset($_SESSION['allowed_trade_show_post']) ? intval($_SESSION['allowed_trade_show_post']) : 0; } function is_product_visible_for_current_show($product_id) { $show_id = get_current_trade_show_id(); if (!$show_id) return false; $field_key = 'trade_show_visibility'; $visible_ids = get_field($field_key, $product_id); return is_array($visible_ids) && in_array($show_id, $visible_ids); } add_shortcode('furniture_table', function($atts) { $product = wc_get_product(get_the_ID()); if (!$product || !is_product_visible_for_current_show($product->get_id())) return ''; $data = get_furniture_product_data($product); $columns = [ 'size' => 'Size', 'dimensions' => 'Dimensions', 'table_top' => 'Table Top', 'pa_finish' => 'Finishes', 'price' => 'Price' ]; // Remove size if not present $has_size = array_filter(array_column($data, 'size')); if (empty($has_size)) unset($columns['size']); return render_product_table($data, $columns); }); add_shortcode('mirror_table', function($atts) { $product = wc_get_product(get_the_ID()); if (!$product || !is_product_visible_for_current_show($product->get_id())) return ''; $data = get_mirror_product_data($product); $columns = [ 'size' => 'Size', 'dimensions' => 'Dimensions', 'weight' => 'Weight', 'pa_vertical-or-horizontal' => 'Hanging Options', 'pa_finish' => 'Finishes', 'price' => 'Price' ]; // Remove size and weight if not used if (empty(array_filter(array_column($data, 'size')))) unset($columns['size']); if (empty(array_filter(array_column($data, 'weight')))) unset($columns['weight']); return render_product_table($data, $columns); }); Custom Elk Antler Chandeliers for Exquisite Interiors in Jackson Hole

Custom Elk Antler Chandeliers for Exquisite Interiors in Jackson Hole

Interior Designer: Susan Shepard

Our designer friend Susan Shepard asked us to create a pair of custom elk antler chandeliers for a project in Jackson Hole, Wyoming. She had in mind copper accents, and a rounded bottom shape that formed a unique design from below.

Elk Antler Chandeliers, the Creative Process:

Both elk antler chandeliers were designed from photos Susan provided showing the details she wanted.  Size, number of lights and overall dimensions were developed through several discussions with interior designer Susan, carefully planning what would be best suited for the space.  Hand cut copper patina candle lights were combined with our natural brown antler finish.  Our hand “rusted” chain and canopy covers compliment the style. Our rusted patina is a process we use to soften the look of new heavy duty metal chain and supports. We cannot wait to see these two beautifully designed elk antler chandeliers installed in their Jackson Hole home. 

  • Big Brother large elk antler chandelier is 72″ x 72″  with 24 lights.  It has a thick double row of elk antlers.
  • Little Brother rounded bottom elk antler chandelier is 60″ x 60″ with 16 lights.  It has the same style and construction, with fewer, smaller antlers used.

More photos of the completed design to come.

An Elk Antler Chandelier is the perfect compliment to any large space needing ample light.  Lighting is the interior designer’s best friend – proper illumination has the ability to highlight the thoughtful arrangement and composition choices made throughout the room, drawing the eye to points of interest and accents.   

Custom Antler Lighting:

Any of the lighting designs in our collection can be customized – from making them taller, adding or removing material, incorporating reclaimed lumber and vintage objects, to applying custom stain colors. The Peak Antler Co. has a broad selection of candle covers, and lampshades are easily incorporated into our designs.  Bring us your ideas – we’re passionate about bringing them to life. The Peak Antler Company’s founder, Jeff Musgrave, is known for producing the highest quality and artistry in custom antler lighting, Western art furniture and sculpture. Every creation is handcrafted and features the unique beauty of each antler. Because every design is made to order, The Peak Antler Co. offers unlimited options in size, finish, and decorative details. Jeff works closely with interior designers, retail outlets, architects and homeowners to build antler lighting and decorative pieces unique to each project.  Whether your project’s design is trendy Mountain ModernTraditional Log HomeRustic FarmhouseResort Lodge, or even Bohemian Chic, his collaborative approach welcomes the client into the design process.  

Call or email today to discuss your custom antler chandelier project. 

Susan Shepard, Designer, Exquisite Interiors Jackson Hole at Belle Cose Town Square 

Shop Our Products