问题描述
首先感谢您的来信。让我清楚我想做什么: 我将创建一个基于在线的付费学习Woocommerce网站,任何人都可以购买课程。但是我没有多余的钱,也不想用任何LMS来增加网站的重量。
让我拥有
Product 1 ... Course 1
Product 2 ... Course 2
Product 3 ... Course 3
以此类推。
如果有人成功购买了Product 1
并完成了付款,则该客户可以观看视频Course 1
。这适用于产品2和课程2 ...
我尝试使用wc_customer_bought_product()
函数及其参数,但是我无法设法验证客户是否成功购买了该产品。如果没有成功付款,那么当订单状态变为“处理中”时,它会显示“课程”链接。
<?PHP if(is_user_logged_in( )) {
$user_details = wp_get_current_user( );
$order_Status = wc_get_order_statuses();
$orderID = wc_get_order(); ?>
<h1 class="text-center">Available Courses for you!</h1>
<?PHP if(wc_customer_bought_product($user_details->user_email,$user_details->ID,9)) {; ?>
<?PHP if($order_status['wc-completed']=='Completed' ) : ?>
<div class="Available_courses">
<div class="card mb-3">
<div class="row no-gutters">
<div class="col-md-4">
<img src="https://place-hold.it/250x250" alt="" style="width:250px; height:250px">
</div>
<div class="col-md-8">
<div class="card-body">
<h5 class="card-title">Course title</h5>
<p class="card-text">Course short description</p>
<a href="<?PHP the_permalink(); ?>">View course</a>
</div>
</div>
</div>
</div>
</div>
<?PHP elseif($order_status['wc-processing']=='Processing' AND wc_customer_bought_product($user_details->user_email,9)): ?>
<p>Please wait for 24 hours and I will complete the payment. </p>
<?PHP else: ?>
<p>Else content...</p>
<?PHP endif; ?>
<?PHP } else{
echo "Purchase this product from Shop page";
}
?>
但是它不检查没有orderID的订单状态。在MyCourses.PHP
中单击所需的购买课程后,客户将进入single-course.PHP
页面,该页面将再次检查用户是否购买了产品并且付款是否完成。
我不确定如何在没有订单ID的课程/单道课程中通过$order->get_status() or wc_get_order_status_name( $order->get_status() )
。
我不知道是否有可能将我的想法变为现实,对此我感到厌倦。没有LMS还能有运气吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)