>让我们更多地谈论这个概念。假设您是拥有革命性新产品的商店老板,并在会议上向成千上万的人介绍了它。在演讲结束时,那些愿意尝试您的产品的客户可以提前付款。您甚至可能通过将您的价格降低给前500名客户来吸引他们。
创建优惠券代码
>如果您对要约的认真程度,那么您将尝试使优惠券代码看起来随机,并且使用户不可能提出有效的优惠券代码。确保选择哪些产品绑在此优惠券上,以便以后可以自动将其添加到购物车中。看看我创建的优惠券之一,请密切关注设置:
>您可以轻松地制作page.php的副本,然后将其转换为页面模板,以便您可以将其用于我们要发送这些客户的页面,以便他们可以兑换产品。命名类似于page-coupon-redeem.php
>以下标记是我们将使用该页面上显示给客户的表单的格式。这只是一个带有两个字段的表格,一个用于输入其代码和实际提交按钮。我们正在努力使客户尽可能简单。因此,我们将通过Ajax进行所有操作,因此页面加载尽可能少。
><span><span><span><div</span> class<span>="redeem-coupon"</span>></span> </span> <span><span><span><form</span> id<span>="ajax-coupon-redeem"</span>></span> </span> <span><span><span><p</span>></span> </span> <span><span><span><input</span> type<span>="text"</span> name<span>="coupon"</span> id<span>="coupon"</span>/></span> </span> <span><span><span><input</span> type<span>="submit"</span> name<span>="redeem-coupon"</span> value<span>="Redeem Offer"</span> /></span> </span> <span><span><span></p</span>></span> </span> <span><span><span><p</span> class<span>="result"</span>></span><span><span></p</span>></span> </span> <span><span><span></form</span>></span><!-- #ajax-coupon-redeem --> </span><span><span><span></div</span>></span><!-- .redeem-coupon --></span>
>用户输入代码并键入提交按钮时,在文本字段中输入的值将进行验证,如果恰好是有效的,则将将用户重定向到“购物车”页面,并且产品将会已经在那里以$ 0的价格结帐。如果有任何偶然的代码不正确,那么我们将通知用户出错,并且输入的代码无效。
>如果您从未在WordPress中完成Ajax,请参阅我以前的文章,将AJAX添加到您的WordPress插件中,以简要介绍WordPress中的Ajax。
>让我们开始构建“赎回您的产品页面”所需的AJAX功能,以如预期的那样运行。主题的functions.php文件中的所有代码均为>
注册我们的Ajax处理程序请注意,无论是否登录,同一功能都在处理AJAX调用。
<span>add_action( 'wp_ajax_spyr_coupon_redeem_handler', 'spyr_coupon_redeem_handler' ); </span><span>add_action( 'wp_ajax_nopriv_spyr_coupon_redeem_handler', 'spyr_coupon_redeem_handler' );</span>>
接下来,我们将开始构建我们的逻辑以说明以下可能的方案:
>代码文本字段为空
>用jQuery
处理表单提交<span><span><?php </span></span><span><span>function spyr_coupon_redeem_handler() { </span></span><span> </span><span> <span>// Get the value of the coupon code </span></span><span> <span>$code = $_REQUEST['coupon_code']; </span></span><span> </span><span> <span>// Check coupon code to make sure is not empty </span></span><span> <span>if( empty( $code ) || !isset( $code ) ) { </span></span><span> <span>// Build our response </span></span><span> <span>$response = array( </span></span><span> <span>'result' => 'error', </span></span><span> <span>'message' => 'Code text field can not be empty.' </span></span><span> <span>); </span></span><span> </span><span> <span>header( 'Content-Type: application/json' ); </span></span><span> <span>echo json_encode( $response ); </span></span><span> </span><span> <span>// Always exit when doing ajax </span></span><span> <span>exit(); </span></span><span> <span>} </span></span><span> </span><span> <span>// Create an instance of WC_Coupon with our code </span></span><span> <span>$coupon = new WC_Coupon( $code ); </span></span><span> </span><span> <span>// Check coupon to make determine if its valid or not </span></span><span> <span>if( ! $coupon->id && ! isset( $coupon->id ) ) { </span></span><span> <span>// Build our response </span></span><span> <span>$response = array( </span></span><span> <span>'result' => 'error', </span></span><span> <span>'message' => 'Invalid code entered. Please try again.' </span></span><span> <span>); </span></span><span> </span><span> <span>header( 'Content-Type: application/json' ); </span></span><span> <span>echo json_encode( $response ); </span></span><span> </span><span> <span>// Always exit when doing ajax </span></span><span> <span>exit(); </span></span><span> </span><span> <span>} else { </span></span><span> <span>// Coupon must be valid so we must </span></span><span> <span>// populate the cart with the attached products </span></span><span> <span>foreach( $coupon->product_ids as $prod_id ) { </span></span><span> <span>WC()->cart->add_to_cart( $prod_id ); </span></span><span> <span>} </span></span><span> </span><span> <span>// Build our response </span></span><span> <span>$response = array( </span></span><span> <span>'result' => 'success', </span></span><span> <span>'href' => WC()->cart->get_cart_url() </span></span><span> <span>); </span></span><span> </span><span> <span>header( 'Content-Type: application/json' ); </span></span><span> <span>echo json_encode( $response ); </span></span><span> </span><span> <span>// Always exit when doing ajax </span></span><span> <span>exit(); </span></span><span> <span>} </span></span><span><span>}</span></span>>现在剩下要做的就是构建jQuery代码,以将优惠券代码提交给WordPress进行处理和处理返回的JSON数据。
>表格的样式完全取决于您。我已经使用了默认的20个主题和WooCommerce的虚拟数据,并且使用了几个CSS规则,这就是我下面的内容。
<span>jQuery( document ).ready( function() { </span> <span>jQuery( '#ajax-coupon-redeem input[type="submit"]').click( function( ev ) { </span> <span>// Get the coupon code </span> <span>var code = jQuery( 'input#coupon').val(); </span> <span>// We are going to send this for processing </span> data <span>= { </span> <span>action: 'spyr_coupon_redeem_handler', </span> <span>coupon_code: code </span> <span>} </span> <span>// Send it over to WordPress. </span> jQuery<span>.post( woocommerce_params.ajax_url, data, function( returned_data ) { </span> <span>if( returned_data.result == 'error' ) { </span> <span>jQuery( 'p.result' ).html( returned_data.message ); </span> <span>} else { </span> <span>// Hijack the browser and redirect user to cart page </span> <span>window.location.href = returned_data.href; </span> <span>} </span> <span>}) </span> <span>// Prevent the form from submitting </span> ev<span>.preventDefault(); </span> <span>}); </span><span>});</span>>
>即使这种情况可能不适用于那里的每个商店,WooCommerce也可以通过其API为我们提供一组工具,以便我们几乎可以完成任何想法。将WordPress添加到混音中,您将获得一个完整的电子商务解决方案,这是首屈一指的。
>>我希望通过本文,我对优惠券如何在WooCommerce中的工作提供了一些见解,并且您在下一个项目中使用它会更加自在。
>我可以创建一个提供免费礼物的优惠券吗?
>我如何与客户共享我的WooCommerce Coupon?与客户的优惠券。您可以在营销电子邮件中包含优惠券代码,在网站上显示,或在社交媒体上共享。您还可以使用诸如``WooCommerce for WooCommerce for WooCommerce''之类的插件直接通过电子邮件将优惠券发送给客户。
>我可以创建适用于运输成本的优惠券吗?适用于运输成本的优惠券。在创建或编辑优惠券时,请在“折扣类型”下拉菜单下选择“运输折扣”。然后,您可以设置折扣金额。请记住要单击“发布”或“更新”以保存您的更改。
是的,您只能将优惠券限制在新客户身上。在创建或编辑优惠券时的“使用限制”选项卡下,您可以选中“仅允许新客户”的框。这将确保只有首次购买的客户才能使用优惠券。设置限制后,请记住单击“发布”或“更新”以节省您的更改。
以上是创建WooCommerce兑换产品页面的详细内容。更多信息请关注PHP中文网其他相关文章!