PluginProbe ʕ •ᴥ•ʔ
Bopo – WooCommerce Product Bundle Builder / trunk
Bopo – WooCommerce Product Bundle Builder vtrunk
bopo-woo-product-bundle-builder / templates / vertical-bundle.php
bopo-woo-product-bundle-builder / templates Last commit date
horizontal-bundle.php 4 years ago vertical-bundle.php 4 years ago
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