php [Marketpress]在结帐页面添加服务条款/服务条款/条款和条件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php [Marketpress]在结帐页面添加服务条款/服务条款/条款和条件相关的知识,希望对你有一定的参考价值。

<?php
/*
Plugin Name: MarketPress Terms of Service
Plugin URI: https://premium.wpmudev.org/
Description: Adds Terms of Service on MarketPress checkout page
Author: Panos Lyrakis @ WPMUDEV
Author URI: https://premium.wpmudev.org/
License: GPLv2 or later
*/


if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

if ( ! class_exists( 'WPMUDEV_MP_TOS' ) ) {

	class WPMUDEV_MP_TOS {

		private static $_instance = null;

		public static function get_instance() {

			if( is_null( self::$_instance ) ){
				self::$_instance = new WPMUDEV_MP_TOS();
			}

			return self::$_instance;

		}

		private function __construct() {

			if( isset( $_GET[ 'token' ] ) && isset( $_GET[ 'PayerID' ] ) ){
				return;
			}

			//add_filter( 'mp_cart/after_cart_html', array( $this, 'tos_after_cart' ), 40, 3 );
			add_filter( 'mp_cart/cart_meta', array( $this, 'tos_after_cart' ), 40, 2 );
			add_action( 'wp_footer', array( $this, 'tos_js' ), 99999 );

		}

		public function tos_after_cart( $html, $cart ){

			if ( $payment_method = mp_get_post_value( 'payment_method' ) ) {
				$html .= $this->tos_checkbox();
			}

			return $html;

		}

		public function tos_checkbox( $additional_class = '' ){



			return '<div class="mp_checkout_field mp_checkout_checkbox '.$additional_class.'">
					<label class="mp_form_label">
						<input class="mp_form_checkbox" type="checkbox" id="mp-tos" /> I agree with the <a href="#">Terms of Service.</a>
						</label>
					</div>';

		}

		public function tos_js(){

			if( ! function_exists( 'mp_is_shop_page' ) || ! mp_is_shop_page( 'checkout' ) ){
				return;
			}
			
		    ?>
		    <script type="text/javascript">
		        (function($){
		        	$(document).ready(function(){

		        		$( document ).ajaxComplete(function( event, xhr, settings ) {

		        			if( $('#mp-tos').length <= 0 && $( '#mp-cart-resume' ).length ){

								var tos_option = '<?php echo trim(preg_replace('/\s+/', ' ', $this->tos_checkbox())); ?>';

								$( '#mp-cart-resume' ).append( tos_option );

			        		}

		        		});
		        		
		                	
			                $( document ).on( 'click', '#mp-checkout-section-order-review-payment .mp_button-checkout', function( e ){

			                    if(!$('#mp-tos').is(':checked')) {

			                        e.preventDefault();
			                        alert("You need to agree with terms and conditions");
			                        return false;
			                    }
			                    return true;
			                });			            
		        	});            
		        })(jQuery);
		    </script>
		    <?php

		}


	}

	add_action( 'plugins_loaded', function(){
		$GLOBALS['WPMUDEV_MP_TOS'] = WPMUDEV_MP_TOS::get_instance();
	});

}

以上是关于php [Marketpress]在结帐页面添加服务条款/服务条款/条款和条件的主要内容,如果未能解决你的问题,请参考以下文章

php [MarketPress] - 在产品的产品种类中添加虚拟产品类型

php [MarketPress] - 管理产品列表。在管理产品表中添加选择选项“无类别”。这应该显示所有产品

php 提供短代码以在任何页面中添加Pro Site结帐表单

php 在WooCommerce中创建直接购物车/结帐/页面添加到购物车按钮。

如何为 Ubercart 结帐完成页面设置主题

php [MarketPress] - 预览订单通知