Wordpress教程 2023年03月5日
0 收藏 0 点赞 975 浏览 3723 个字

实现了一个 WordPress 插件,使得当客户在 B1 站点上完成订单支付后,会自动跳转到 B2 站点进行支付。

为了使用这个插件,您需要完成以下步骤:

  1. 在 B1 站点中的 functions.php 文件中添加第一段代码,以便将订单信息传输到 B2 站点。在添加代码之前,请确保您已经安装并启用了 WooCommerce 插件。
  2. 在 B2 站点中的 functions.php 文件中添加第二段代码,以便接收并填充 B1 站点传输过来的订单信息。同样地,在添加代码之前,请确保您已经安装并启用了 WooCommerce 插件。
  3. 在 B1 站点中,打开一个商品页面并添加一个商品到购物车中。然后前往购物车页面并开始结账。
  4. 在结账页面中,填写所有必要的订单信息,并选择您想要使用的付款方式。最后,点击“Place Order”按钮完成订单支付。
  5. 完成支付后,您会自动跳转到 B2 站点的付款页面,并且在该页面上会显示 B1 站点传输过来的订单信息。

请注意,为了使这个插件正常工作,您需要在 B1 和 B2 站点之间建立良好的网络连接,以便可以在它们之间传输数据。如果您遇到任何问题,请尝试检查网络连接是否正常,并确保所有的代码都正确地添加到了相应的站点中。

  1. 在 B1 站点上创建一个新的插件
    • 在 WordPress 后台,选择“插件”->“新增”
    • 在插件名称的文本框中输入一个名称,例如“传输订单信息插件”
    • 在插件代码中粘贴以下代码并保存:

/*
Plugin Name: 传输订单信息插件
Description: 将 WooCommerce 订单信息从 B1 站点传输到 B2 站点,并自动跳转到 B2 站点进行付款
Version: 1.0
*/

add_action( 'woocommerce_thankyou', 'redirect_to_b2_for_payment' );
function redirect_to_b2_for_payment( $order_id ) {
// 获取订单信息
$order = wc_get_order( $order_id );
$order_total = $order->get_total();
$order_payment_method = $order->get_payment_method();
$order_billing_first_name = $order->get_billing_first_name();
$order_billing_last_name = $order->get_billing_last_name();
$order_billing_address_1 = $order->get_billing_address_1();
$order_billing_address_2 = $order->get_billing_address_2();
$order_billing_city = $order->get_billing_city();
$order_billing_postcode = $order->get_billing_postcode();
$order_billing_country = $order->get_billing_country();
$order_billing_phone = $order->get_billing_phone();
$order_billing_email = $order->get_billing_email();
// 重定向到B2站点进行付款
$redirect_url = 'https://b2.com/payment-page/?order_id=' . $order_id . '&order_total=' . $order_total . '&order_payment_method=' . $order_payment_method . '&order_billing_first_name=' . $order_billing_first_name . '&order_billing_last_name=' . $order_billing_last_name . '&order_billing_address_1=' . $order_billing_address_1 . '&order_billing_address_2=' . $order_billing_address_2 . '&order_billing_city=' . $order_billing_city . '&order_billing_postcode=' . $order_billing_postcode . '&order_billing_country=' . $order_billing_country . '&order_billing_phone=' . $order_billing_phone . '&order_billing_email=' . $order_billing_email;
wp_redirect( $redirect_url );
exit;
}

 

  1. 在 B2 站点上创建一个新的插件
    • 在 WordPress 后台,选择“插件”->“新增”
    • 在插件名称的文本框中输入一个名称,例如“填充订单信息插件”
    • 在插件代码中粘贴以下代码并保存:

/*
Plugin Name: 填充订单信息插件
Description: 从 B1 站点接收 WooCommerce 订单信息,并在 B2 站点中填写订单信息
Version: 1.0
*/

add_action( 'template_redirect', 'populate_order_details' );
function populate_order_details() {
// 检查是否有从 B1 站点传输过来的订单信息
if ( isset( $_GET['order_id'] ) ) {
// 获取订单信息
$order_id = $_GET['order_id'];
$order_total = $_GET['order_total'];
$order_payment_method = $_GET['order_payment_method'];
$order_billing_first_name = $_GET['order_billing_first_name'];
$order_billing_last_name = $_GET['order_billing_last_name'];
$order_billing_address_1 = $_GET['order_billing_address_1'];
$order_billing_address_2 = $_GET['order_billing_address_2'];
$order_billing_city = $_GET['order_billing_city'];
$order_billing_postcode = $_GET['order_billing_postcode'];
$order_billing_country = $_GET['order_billing_country'];
$order_billing_phone = $_GET['order_billing_phone'];
$order_billing_email = $_GET['order_billing_email'];

// 填写订单信息
$order = new WC_Order( $order_id );
$order->update_status( 'processing' );
$order->set_total( $order_total );
$order->set_payment_method( $order_payment_method );
$order->set_billing_first_name( $order_billing_first_name );
$order->set_billing_last_name( $order_billing_last_name );
$order->set_billing_address_1( $order_billing_address_1 );
$order->set_billing_address_2( $order_billing_address_2 );
$order->set_billing_city( $order_billing_city );
$order->set_billing_postcode( $order_billing_postcode );
$order->set_billing_country( $order_billing_country );
$order->set_billing_phone( $order_billing_phone );
$order->set_billing_email( $order_billing_email );
$order->save();

// 重定向到付款页面
wp_redirect( $order->get_checkout_payment_url() );
exit;
}
}

请将此代码块复制到您在 B2 站点中创建的插件中,并保存该文件。之后,当用户完成在 B1 站点中的订单付款时,他们将被重定向到 B2 站点的付款页面,并自动填写订单信息。

微信扫一扫

支付宝扫一扫

版权: 转载请注明出处:https://www.mizhanw.com/blog/1859.html

相关推荐
最新Wp Rocket设置教程, 含插件下载+常见问题解决方法
最新Wp Rocket设置教程(超详细), 附GPL版本插件下载链接。图文并茂详细解释每一个设置的含义以及优缺点+兼容性排除,找到最合适的设…
日期:2024-02-24 点赞:0 阅读:42
WordPress破解版插件/主题(开心版, GPL, Nulled)安全吗?有啥缺点?如何获取?
解版插件产业链,安全与否,以及如何下载安全高质量破解版插件,避免下载有病毒主题/插件。 WordPress破解版插件/主题安全吗?这是绝大多…
日期:2024-02-24 点赞:0 阅读:31
终极WordPress速度优化教程, 秒开页面! 优化思路+方法+工具
终极WordPress速度优化教程,全面讲解影响速度的因素和原理。FCP, LCP, TTFB, TBT, CLS,Wp corn, Mar…
日期:2024-02-24 点赞:0 阅读:40
WordPress 的最佳 Cloudflare 设置(边缘涡轮增压)
无论您的 WordPress 主机有多快都无关紧要;您永远无法克服网络延迟。像 Cloudflare 这样的内容分发网络 (CDN) 通过将…
日期:2024-02-24 点赞:0 阅读:32
使用国外主题/插件后网站变很卡响应速度很慢的问题
变卡的原因 由于国内GFW的限制,有些资源被挡在海外无法加载,或者有些资源服务器延迟太高,导致网站加载速度缓慢,解决办法如下,二选一即可。 …
日期:2024-02-21 点赞:0 阅读:52
如何使用 SearchWP 改进 WordPress 搜索(简单快捷)
你想使用 SearchWP 改进 WordPress 搜索吗? 通过改进 WordPress 的内置搜索功能,你可以帮助用户找到他们想要的内…
日期:2024-02-20 点赞:0 阅读:36
发表评论
暂无评论

还没有评论呢,快来抢沙发~