vertical-bundle.php
197 lines
| 1 | <?php |
| 2 | $settings = VI_WOO_BOPO_BUNDLE_DATA::get_instance(); |
| 3 | $language = ''; |
| 4 | if ( is_plugin_active( 'sitepress-multilingual-cms/sitepress.php' ) ) { |
| 5 | $default_lang = apply_filters( 'wpml_default_language', null ); |
| 6 | $current_language = apply_filters( 'wpml_current_language', null ); |
| 7 | |
| 8 | if ( $current_language && $current_language !== $default_lang ) { |
| 9 | $language = $current_language; |
| 10 | } |
| 11 | } else if ( class_exists( 'Polylang' ) ) { |
| 12 | $default_lang = pll_default_language( 'slug' ); |
| 13 | $current_language = pll_current_language( 'slug' ); |
| 14 | if ( $current_language && $current_language !== $default_lang ) { |
| 15 | $language = $current_language; |
| 16 | } |
| 17 | } |
| 18 | |
| 19 | if ( isset( $args['items'] ) ) { |
| 20 | $items = $args['items']; |
| 21 | } |
| 22 | if ( isset( $args['bundle_id'] ) ) { |
| 23 | $bundle_id = $args['bundle_id']; |
| 24 | $product_bundle = wc_get_product( $bundle_id ); |
| 25 | } |
| 26 | if ( isset( $args['product_array'] ) ) { |
| 27 | $product_arr = $args['product_array']; |
| 28 | } |
| 29 | if ( isset( $args['bopo_fixed_price'] ) ) { |
| 30 | $bopo_fixed_price = $args['bopo_fixed_price']; |
| 31 | } |
| 32 | if ( isset( $args['bopo_fixed_sale'] ) ) { |
| 33 | $bopo_fixed_sale = $args['bopo_fixed_sale']; |
| 34 | } |
| 35 | if ( isset( $args['bopo_tax_array'] ) ) { |
| 36 | $bopo_tax_array = $args['bopo_tax_array']; |
| 37 | } |
| 38 | if ( isset( $args['bopo_mode'] ) ) { |
| 39 | $bopo_mode = $args['bopo_mode']; |
| 40 | } else { |
| 41 | $bopo_mode = ''; |
| 42 | } |
| 43 | if ( isset( $args['bopo_template'] ) ) { |
| 44 | $bopo_template = $args['bopo_template']; |
| 45 | } else { |
| 46 | $bopo_template = ''; |
| 47 | } |
| 48 | $p_description = []; |
| 49 | $p_ratting = []; |
| 50 | for ( $i = 0; $i < $items['count']; $i ++ ) { |
| 51 | if ( ! empty( $product_arr[ $i ][0] ) ) { |
| 52 | if ( $product_arr[ $i ][0] instanceof WC_Product_Variation ) { |
| 53 | $p_id = $product_arr[ $i ][0]->get_parent_id(); |
| 54 | $p_prd = wc_get_product( $p_id ); |
| 55 | $p_description[ $i ] = $p_prd->get_short_description(); |
| 56 | if ( $p_prd->get_rating_count() != '0' && ! empty( $p_prd->get_rating_count() ) ) { |
| 57 | $p_ratting[ $i ] = wc_get_rating_html( $p_prd->get_average_rating() ); |
| 58 | } |
| 59 | } else { |
| 60 | $p_description[ $i ] = $product_arr[ $i ][0]->get_short_description(); |
| 61 | if ( $product_arr[ $i ][0]->get_rating_count() != '0' ) { |
| 62 | $p_ratting[ $i ] = wc_get_rating_html( $product_arr[ $i ][0]->get_average_rating() ); |
| 63 | } |
| 64 | } |
| 65 | } |
| 66 | } |
| 67 | ?> |
| 68 | <div class="bopobb-single-wrap bopobb-single-wrap-<?php echo esc_attr( $bundle_id ); ?>" data-id="<?php echo esc_attr( $bundle_id ); ?>" |
| 69 | data-temp="<?php echo esc_attr( $bopo_template ) ?>"> |
| 70 | <div class="bopobb-custom-title"> |
| 71 | <?php |
| 72 | if ( ! empty( $items['title'] ) ) { |
| 73 | echo esc_html( $items['title'] ); |
| 74 | } |
| 75 | ?> |
| 76 | </div> |
| 77 | <div class="bopobb-items-top-wrap"> |
| 78 | <?php |
| 79 | for ( $i = 0; $i < $items['count']; $i ++ ) { |
| 80 | $img_class = ' bopobb-item-change'; |
| 81 | $img_title = ''; |
| 82 | $data_item_index = ''; |
| 83 | $data_default = 1; |
| 84 | if ( empty( $product_arr[ $i ][0] ) ) { |
| 85 | $img_title = $settings->get_params( 'bopobb_swap_text' ); |
| 86 | $data_default = 0; |
| 87 | } |
| 88 | ?> |
| 89 | <div class="bopobb-item-top bopobb-item-<?php echo esc_attr( $i ); ?>" data-default="<?php echo esc_attr( $data_default ); ?>"> |
| 90 | <div class="bopobb-item-img-wrap bopobb-item-<?php echo esc_attr( $i ); |
| 91 | echo esc_attr( $img_class ); ?>" data-item="<?php echo esc_attr( $i ); ?>" data-product="<?php echo esc_attr( $bundle_id ) ?>" |
| 92 | title="<?php echo esc_attr( $img_title ) ?>"> |
| 93 | <span class="bopobb-item-img" title="<?php echo esc_attr( $product_arr[ $i ][2] ) ?>"> |
| 94 | <?php echo wp_kses_post( $product_arr[ $i ][3] ); ?> |
| 95 | </span> |
| 96 | </div> |
| 97 | </div> |
| 98 | <?php |
| 99 | if ( ( $i + 1 ) < $items['count'] ) { |
| 100 | ?> |
| 101 | <div class="bopobb-item-img-separate-wrap"> |
| 102 | <div class="bopobb-item-img-separate-top"> |
| 103 | <span class="bopobb-item-img-separate-icon bopobb-icon-plus3"></span> |
| 104 | </div> |
| 105 | <div class="bopobb-item-img-separate-bottom"> |
| 106 | </div> |
| 107 | </div> |
| 108 | <?php |
| 109 | } |
| 110 | } |
| 111 | ?> |
| 112 | </div> |
| 113 | <div class="bopobb-items-bottom-wrap bopobb-template-1"> |
| 114 | <table class="bopobb-detail-table" data-fixed-price="<?php echo esc_attr( $bopo_fixed_price ) ?>" data-fixed-sale="<?php echo esc_attr( $bopo_fixed_sale ) ?>" |
| 115 | data-price-suffix="<?php echo esc_attr( htmlentities( $product_bundle->get_price_suffix() ) ); ?>" |
| 116 | data-tax-include="<?php echo esc_attr( $bopo_tax_array['include'] ); ?>" data-tax-rate="<?php echo esc_attr( $bopo_tax_array['rate'] ); ?>" |
| 117 | data-tax-exempt="<?php echo esc_attr( $bopo_tax_array['exempt'] ); ?>" data-tax-view="<?php echo esc_attr( $bopo_tax_array['view'] ); ?>"> |
| 118 | <tbody> |
| 119 | <?php |
| 120 | for ( $i = 0; $i < $items['count']; $i ++ ) { |
| 121 | ?> |
| 122 | <tr class="bopobb-item-product bopobb-item-<?php echo esc_attr( $i ) ?>" data-discount-type="<?php echo esc_attr( $product_arr[ $i ][8] ) ?>" |
| 123 | data-discount-number="<?php echo esc_attr( $product_arr[ $i ][9] ) ?>" data-price="<?php echo esc_attr( $product_arr[ $i ][5] ) ?>" |
| 124 | data-qty="<?php echo esc_attr( $product_arr[ $i ][4] ) ?>" data-id="<?php echo esc_attr( $product_arr[ $i ][1] ) ?>" |
| 125 | data-max="<?php echo esc_attr( $product_arr[ $i ][10] ) ?>" data-change="<?php echo esc_attr( $product_arr[ $i ][12] ); ?>" |
| 126 | data-item="<?php echo esc_attr($i); ?>"> |
| 127 | <th> |
| 128 | <div class="bopobb-item-detail-wrap"> |
| 129 | <div class="bopobb-item-detail"> |
| 130 | <a class="bopobb-item-title <?php if ( $settings->get_params( 'bopobb_link_individual' ) == 2 ) |
| 131 | echo esc_attr( 'bopobb-item-change' ) ?>" data-item="<?php echo esc_attr( $i ) ?>" |
| 132 | data-product="<?php echo esc_attr( $bundle_id ) ?>" <?php |
| 133 | if ( $settings->get_params( 'bopobb_view_description' ) ) { |
| 134 | ?> title="<?php if ( ! empty( $p_description[ $i ] ) ) { |
| 135 | echo esc_attr( $p_description[ $i ] ); |
| 136 | } ?>" <?php |
| 137 | } |
| 138 | if ( $settings->get_params( 'bopobb_link_individual' ) == 1 ) { |
| 139 | echo esc_attr( ' target=_blank' ); |
| 140 | if ( ! empty( $product_arr[ $i ][1] ) ) { |
| 141 | echo esc_attr( ' href=' . get_permalink( $product_arr[ $i ][1] ) ); |
| 142 | } |
| 143 | } |
| 144 | ?>> |
| 145 | <?php if ( $product_arr[ $i ][2] ) { |
| 146 | $item_title = $product_arr[ $i ][2]; |
| 147 | if ( $settings->get_params( 'bopobb_view_quantity' ) ) { |
| 148 | $item_title .= ' x' . $product_arr[ $i ][4]; |
| 149 | } |
| 150 | } else { |
| 151 | if ( empty( $language ) ) { |
| 152 | $item_title = $settings->get_params( 'bopobb_popup_title' ); |
| 153 | } else { |
| 154 | $item_title = $settings->get_params( 'bopobb_popup_title_' . $language ); |
| 155 | } |
| 156 | } |
| 157 | echo esc_attr( $item_title ) ?> |
| 158 | </a> |
| 159 | <?php |
| 160 | if ( $settings->get_params( 'bopobb_view_ratting' ) ) { |
| 161 | if ( ! empty( $p_ratting[ $i ] ) ) { |
| 162 | echo wp_kses_post( $p_ratting[ $i ] ); |
| 163 | } |
| 164 | } |
| 165 | if ( $settings->get_params( 'bopobb_view_stock' ) ) { |
| 166 | if ( ! empty( $product_arr[ $i ][0] ) ) { |
| 167 | echo wp_kses_post( wc_get_stock_html( $product_arr[ $i ][0] ) ); |
| 168 | } |
| 169 | } |
| 170 | ?> |
| 171 | <input type="hidden" class="bopobb-item-variations" value="<?php echo esc_attr( $product_arr[ $i ][11] ) ?>" readonly="readonly"> |
| 172 | </div> |
| 173 | <div class="bopobb-item-change-wrap"> |
| 174 | <div class="bopobb-item-change bopobb-item-<?php echo esc_attr( $i ) ?> bopobb-icon-pencil" |
| 175 | data-item="<?php echo esc_attr( $i ) ?>" |
| 176 | data-product="<?php echo esc_attr( $bundle_id ) ?>" |
| 177 | title="<?php echo esc_html( $settings->get_params( 'bopobb_swap_text' ) ) ?>"> |
| 178 | </div> |
| 179 | </div> |
| 180 | </div> |
| 181 | </th> |
| 182 | <td> |
| 183 | <?php |
| 184 | if ( ! empty( $product_arr[ $i ][0] ) ) { |
| 185 | echo wp_kses_post( $product_arr[ $i ][0]->get_price_html() ); |
| 186 | } |
| 187 | ?> |
| 188 | </td> |
| 189 | </tr> |
| 190 | <?php } ?> |
| 191 | </tbody> |
| 192 | </table> |
| 193 | </div> |
| 194 | <div class="bopobb-alert bopobb-text"></div> |
| 195 | </div> |
| 196 | <?php |
| 197 |