繁体   English   中英

Learndash如何从课程ID中获取课程标题

[英]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 CERTIFICATEDOWNLOAD 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM