Untitled
unknown
plain_text
a month ago
4.7 kB
8
Indexable
Never
function add_offers(){ global $product; $product_id = $product->get_id(); $otheroffers = marketking()->get_linkedproducts($product_id, 'array'); if (!empty($otheroffers)){ $offers_number = count($otheroffers); if ($offers_number > 1){ $offers_number_text = esc_html__('offers','marketking'); } else { $offers_number_text = esc_html__('offer','marketking'); } ?> <div id="marketking_product_other_offers"> <h3 class="marketking_other_offers_header"> <?php esc_html_e('Other offers','marketking'); ?> <small>(<?php echo esc_html($offers_number.' '.$offers_number_text); ?>)</small> </h3> <?php // for each offer, show here $offers_shown_default = get_option('marketking_offers_shown_default_number_setting', 1); // Sort offers based on priority $stockpriority = get_option('marketking_stock_priority_setting', 'instock'); $vendorpriority = get_option('marketking_vendor_priority_setting', 'lowerprice'); if ($stockpriority === 'instock'){ // split offers into 2 groups, instock and out of stock $instockoffers = marketking()->split_linkedproducts($otheroffers, 'instock'); $outofstockoffers = marketking()->split_linkedproducts($otheroffers, 'outofstock'); // merge groups again $instockoffers = marketking()->sort_linkedproducts($instockoffers, $vendorpriority); $outofstockoffers = marketking()->sort_linkedproducts($outofstockoffers, $vendorpriority); $otheroffers = array_merge($instockoffers, $outofstockoffers); } else if ($stockpriority === 'none'){ $otheroffers = marketking()->sort_linkedproducts($otheroffers, $vendorpriority); } $i = 0; foreach ($otheroffers as $offerproduct_id){ $i++; $offerproduct = wc_get_product($offerproduct_id); $vendor_id = marketking()->get_product_vendor($offerproduct_id); $store_name = marketking()->get_store_name_display($vendor_id); $store_link = marketking()->get_store_link($vendor_id); $stock_status = $offerproduct->get_stock_status(); $stocktext = $badge = ''; if ($stock_status === 'instock'){ $badge = 'badge-green'; $stocktext = esc_html__('In stock', 'marketking'); } else if ($stock_status === 'outofstock'){ $badge = 'badge-gray'; $stocktext = esc_html__('Out of stock', 'marketking'); } else if ($stock_status === 'onbackorder'){ $badge = 'badge-gray'; $stocktext = esc_html__('On backorder', 'marketking'); } $rating = marketking()->get_vendor_rating($vendor_id, 1); ?> <div class="marketking_product_other_offer_container <?php if($i > $offers_shown_default){echo 'marketking_offer_hidden_initial';} ?>"> <?php // product image here $src = wp_get_attachment_url( $offerproduct->get_image_id() ); if (empty($src)){ $src = wc_placeholder_img_src(); } echo '<a href="'.esc_attr($offerproduct->get_permalink()).'"><img class="marketking_other_offer_product_image" src="'.esc_attr($src).'"></a>'; ?> <div class="marketking_product_other_offer_first_column"> <div class="marketking_product_other_offer_first_column_sold_by"> <?php echo esc_html__('Product sold by','marketking').' <a class="marketking_offer_store_link" href="'.esc_attr($store_link).'">'.esc_html($store_name); // if there's any rating if (intval($rating['count'])!==0){ echo ' <strong> '.esc_html($rating['rating']).'</strong><span class="dashicons dashicons-star-filled marketking_product_other_offer_first_column_sold_by_star"></span>'; } echo '</a>'; ?> <br> <div class="marketking_product_other_offer_first_column_sold_by_stock"> <?php echo '<span class="'.esc_attr($badge).'">'.esc_html($stocktext).'</span>';?> </div> </div> </div> <div class="marketking_product_other_offer_second_third_container"> <div class="marketking_product_other_offer_second_column"> <?php echo $offerproduct->get_price_html(); ?> </div> <div class="marketking_product_other_offer_third_column"> <?php wc_get_template( 'single-product/add-to-cart/external.php', array( 'product_url' => $offerproduct->add_to_cart_url(), 'button_text' => $offerproduct->add_to_cart_text(), ) ); ?> </div> </div> </div> <?php } if($i > $offers_shown_default){ // show more items ?> <div class="marketking_offers_show_more"><span class="dashicons dashicons-arrow-down"></span><?php esc_html_e('Show more...','marketking');?></div> <?php } ?> </div> <?php } }
Leave a Comment