
[英]How can I find related learndash course id from woocommerce product object?
[英]Learndash how to get course title from course ID
我查看了整个 Learndash 文档,但找不到 function 以从课程 ID 中获取课程标题。 有谁知道如何做到这一点或有一些示例代码?
登录的用户可以看到他们获得的证书,以便他们可以单击链接并下载任何证书。 以下是我目前拥有的代码。 我将当前注册的课程列表放入$arr1
数组中。 这是一个Course IDs
数组。 我正在浏览这个数组,对于任何已completed
的课程,我允许用户提供下载课程的链接。
目前,我可以使用 function learndash_get_course_certificate_link
获取课程下载链接。 但是,我想在 a href 的文本中显示课程的名称(课程标题)。
我想为每个证书显示文本DOWNLOAD YOUR PROJECT MANAGEMENT CERTIFICATE
、 DOWNLOAD YOUR ACCOUNTING CERTIFICATE
等。
$current_user = wp_get_current_user();
$arr1 = learndash_get_user_course_access_list($current_user->ID );
foreach ($arr1 as $value)
{
$val = learndash_course_status($value);
if ($val == "Completed")
{
$certificate_link = learndash_get_course_certificate_link($value);
echo '<a href="'.$certificate_link.'">DOWNLOAD YOUR PROJECT MANAGEMENT CERTIFICATE</a>';
echo '<br>';
}
}
好的,我找到了答案。 我所要做的就是调用 php function: get_post(...)。 这让我得到了课程的标题:
$course = get_post($course_id);
echo $course->post_title;
感谢您的解决方案,它帮助我获得了课程的标题,但就我而言,我没有课程的 ID(因为我为所有课程制作了相同的课程页面(与 style 一样),所以我想显示动态标题),在我的例子中,我为标题生成了一个新的短代码,所以我可以在任何我想要的地方使用它。 这是代码:
add_shortcode( 'lmscoder-course-title', 'lmscoder_course_title' );
function lmscoder_course_title() {
// go away if LearnDash isn't active
if ( ! function_exists( 'learndash_get_course_meta_setting' ) ) {
return;
}
//get course id
$id = learndash_get_course_id();
$course = get_post($id);
// return the title
return $course->post_title;
}
希望能帮助到你。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.