我将woocommerce与LearnDash集成在一起。现在,我正在尝试从woocommerce产品对象或任何其他方式(通过woocommerce产品id)获取所选课程(相关课程)。必须有一种购买产品的方式来解锁课程。就是找不到。
有人能帮上忙吗?
发布于 2020-09-19 05:21:45
相关课程数据以post_meta格式存储在WooCommerce产品中。
当render_course_selector()函数用'_related_courses‘is it's key included in the $_POST on see the product更新post meta时,您可以在第150行看到这一点。
对于我的用例,我需要在发送的电子邮件中获得它,所以我这样做:
function my_plugin_add_course_link_to_emails($item_id, $item, $order, $plain_text)
{
$html = '<div class="email-course-link">';
$related_courses = get_post_meta($item->get_product_id(), '_related_course');
foreach ($related_courses as $related_course) {
$id = $related_course[0];
$url = learndash_get_course_url($id);
$html .= '<a href="' . $url . '">Course Link</a>';
}
$html .= '</div>';
echo $html;
}
add_action('woocommerce_order_item_meta_start', 'my_plugin_add_course_link_to_emails', 10, 4);回答你的问题的神奇之道是这一条:
$related_courses = get_post_meta($item->get_product_id(), '_related_course');上面的任何变体都应该能帮到你。
https://stackoverflow.com/questions/63921976
复制相似问题