PluginProbe
Additional Terms Lite for WooCommerce / 1.0.2
Additional Terms Lite for WooCommerce v1.0.2
1.7.3 1.7.2.1 trunk 1.0.1 1.0.2 1.1.0 1.2.0 1.2.1 1.2.2 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.4.0 1.4.1 1.5.0 1.5.1 1.5.2 1.6.0 1.6.1 1.6.2 1.6.3 All 35 releases
woo-additional-terms / includes / front-end.php

front-end.php in Additional Terms Lite for WooCommerce 1.0.2, at includes/front-end.php

64 lines 3.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Retrieve plugin option value(s).
4 *
5 * @author Mahdi Yazdani
6 * @package Woo Additional Terms
7 * @since 1.0
8 */
9 /**
10 * Display Additioanl Terms checkbox in checkout page.
11 *
12 *@since 1.0
13 */
14 if (!function_exists('woo_additional_terms_checkout_checkbox')):
15 function woo_additional_terms_checkout_checkbox() {
16 // Retrieve plugin option value(s)
17 $woo_additional_terms_page = ( get_option( 'woo_additional_terms_page' ) ) ? esc_attr( get_option( 'woo_additional_terms_page' ) ) : '';
18 $woo_additional_terms_title = ( get_option( 'woo_additional_terms_title' ) ) ? esc_attr( get_option( 'woo_additional_terms_title' ) ) : '';
19 $woo_additional_terms_notice = ( get_option( 'woo_additional_terms_notice' ) ) ? esc_attr( get_option( 'woo_additional_terms_notice' ) ) : '';
20 $woo_additional_terms_link_shortcode = '%link%';
21 if( isset($woo_additional_terms_notice) && !empty($woo_additional_terms_notice) ):
22 echo '<p class="form-row terms">' . PHP_EOL;
23 echo '<input type="checkbox" class="input-checkbox" name="woo-additional-terms-checkbox" id="woo-additional-terms-checkbox" />' . PHP_EOL;
24 if( strpos($woo_additional_terms_notice, $woo_additional_terms_link_shortcode) !== false && isset($woo_additional_terms_page, $woo_additional_terms_title) && !empty($woo_additional_terms_page) && !empty($woo_additional_terms_title) ) :
25 echo '<label for="woo-additional-terms-checkbox" class="checkbox">' . str_replace( '%link%', '<a href="' . get_permalink($woo_additional_terms_page) . '" target="_blank">' . $woo_additional_terms_title . '</a>', $woo_additional_terms_notice ) . ' <span class="required">*</span></label>' . PHP_EOL;
26 else:
27 echo '<label for="woo-additional-terms-checkbox" class="checkbox">' . str_replace( '%link%', '', $woo_additional_terms_notice ) . ' <span class="required">*</span></label>' . PHP_EOL;
28 endif;
29 echo '</p>' . PHP_EOL;
30 endif;
31 }
32 endif;
33 add_action('woocommerce_review_order_before_submit', 'woo_additional_terms_checkout_checkbox', 5);
34 /**
35 * Display custom error message whenever customer didn't accept additional terms.
36 *
37 *@since 1.0
38 */
39 if (!function_exists('woo_additional_terms_checkout_notice_error')):
40 function woo_additional_terms_checkout_notice_error() {
41 // Retrieve plugin option value(s)
42 $woo_additional_terms_notice = ( get_option( 'woo_additional_terms_notice' ) ) ? esc_attr( get_option( 'woo_additional_terms_notice' ) ) : '';
43 $woo_additional_terms_notice_error = ( get_option( 'woo_additional_terms_notice_error' ) ) ? esc_attr( get_option( 'woo_additional_terms_notice_error' ) ) : __('You must accept our additional terms.', 'woo-additional-terms');
44 if ( !isset($woo_additional_terms_notice, $_POST['woo-additional-terms-checkbox']) && !empty($woo_additional_terms_notice) ):
45 wc_add_notice( $woo_additional_terms_notice_error, 'error' );
46 endif;
47 }
48 endif;
49 add_action('woocommerce_checkout_process', 'woo_additional_terms_checkout_notice_error');
50 /**
51 * Update the order meta with Woo Additional Terms value.
52 *
53 *@since 1.0
54 */
55 if (!function_exists('woo_additional_terms_field_update_order_meta')):
56 function woo_additional_terms_field_update_order_meta( $order_id ) {
57 // Retrieve plugin option value(s)
58 $woo_additional_terms_notice = ( get_option( 'woo_additional_terms_notice' ) ) ? esc_attr( get_option( 'woo_additional_terms_notice' ) ) : '';
59 if ( isset($woo_additional_terms_notice, $_POST['woo-additional-terms-checkbox']) && !empty($woo_additional_terms_notice) ):
60 update_post_meta( $order_id, 'woo-additional-terms-checkbox', sanitize_text_field( $_POST['woo-additional-terms-checkbox'] ) );
61 endif;
62 }
63 endif;
64 add_action( 'woocommerce_checkout_update_order_meta', 'woo_additional_terms_field_update_order_meta' );