심플lms 동영상 접근 데이터

1. 정확한 제품 또는 플러그인 이름

코스모스팜 심플 lms

 

2. 상세 내용

안녕하세요~
강의사이트 만드는 도중에
강의 숫자와 강의 시간을 화면에 나태기위해
acf 플러그인을 활용해서 필드를 추가 후 
funtion.php와 해당 페이지에 대한 코드를 수정하여
테스트중인데요~
동영상에 관련된 정보들 자체를 읽을수 없어서
여기까지 오게되었습니다
심플lms의 동영상에 관련된 정보들은
php 어떤 파일에서 확인할 수 있나요??
아래에 코드처럼 메타더에터?
접근을 시도했지만 전혀 읽지를 못하더라구요,
동영상 이름,rul 동영상 시간에 관련된 데이터에 접근하려면
어떤 변수 명에 접근해야하나요?

 

3. 확인 가능한 상세 페이지 주소

https://dokacoder.com/product/javascript/

 

4. 수정한 코드 내역 (있다면)

funtion.php

// 비디오 시간 관련 정보
function sync_simple_lms_to_acf($post_id) {
    $lms_videos = get_post_meta($post_id, 'simple_lms_video_data', true);

    if (!empty($lms_videos)) {
        error_log('Simple LMS 데이터가 존재합니다.');
        $acf_video_list = [];

        foreach ($lms_videos as $lms_video) {
            error_log('비디오 제목: ' . $lms_video['title']);
            error_log('비디오 길이: ' . $lms_video['duration']);
            error_log('비디오 URL: ' . $lms_video['url']);

            $acf_video_list[] = [
                'video_title' => $lms_video['title'],
                'video_duration' => $lms_video['duration'],
                'video_url' => $lms_video['url'],
            ];
        }

        update_field('video_list', $acf_video_list, $post_id);
        error_log('ACF 리피터 필드가 업데이트되었습니다.');
    } else {
        error_log('Simple LMS 데이터가 없습니다.');
    }
}
add_action('save_post', 'sync_simple_lms_to_acf');

function display_video_info() {
    global $post;

    $video_list = get_field('video_list', $post->ID); // ACF 리피터 필드 불러오기
    if (!$video_list) return '<div class="video-info">비디오 목록이 없습니다.</div>'; // 리피터 필드가 비어있을 경우

    $total_duration = 0;
    $video_count = count($video_list);

    // 각 동영상의 길이를 초 단위로 변환하여 총 시간을 계산
    foreach ($video_list as $video) {
        list($hours, $minutes, $seconds) = explode(':', $video['video_duration']);
        $total_duration += $hours * 3600 + $minutes * 60 + $seconds;
    }

    // 총 시간을 시간과 분으로 변환
    $total_hours = floor($total_duration / 3600);
    $total_minutes = floor(($total_duration % 3600) / 60);

    return "<div class='video-info'>강의 수: {$video_count}개 ∙ 총 수업 시간 {$total_hours}시간 {$total_minutes}분</div>";
}
add_shortcode('video_info', 'display_video_info');

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
  • AI에 의해 자동 생성된 답변이에요 😀

    안녕하세요! WordPress 전문가인 저는 당신의 질문에 대한 답변을 드리기 위해 노력하고 있습니다. 제가 이해한 바로는, 심플lms 동영상 관련 정보를 읽어오지 못하는 문제로 고민 중이시군요. 해당 정보에 접근하기 위해서는 'simple_lms_video_data' 메타 필드에 저장된 동영상 데이터를 활용하고 있습니다. 그러나 해당 데이터를 읽어올 때 문제가 발생하는 것으로 이해했습니다.

    동영상 이름, URL, 시간에 대한 정보를 얻기 위해서는 'simple_lms_video_data' 메타 필드에 어떤 형식으로 데이터가 저장되어 있는지 확인해야 합니다. 코드를 보면 'title', 'duration', 'url' 키를 사용하여 데이터에 접근하고 있습니다. 만약 해당 키로 데이터에 접근이 안 된다면, 데이터 구조를 다시 확인해보시고, 혹시 다른 키를 사용하고 있는지도 확인해보세요.

    또한, 코드에서는 'sync_simple_lms_to_acf' 함수를 통해 데이터를 ACF 필드에 업데이트하고, 'display_video_info' 함수를 통해 해당 정보를 화면에 표시하고 있는 것으로 보입니다. 이 부분들도 정확히 동작하고 있는지 확인해보시면 좋을 것 같습니다.

    더 도움이 필요하시다면 언제든 다시 질문해주세요! 함께 해결해나가는 과정이 즐거우시기를 바랍니다. 감사합니다!

    ↓ 아래 버튼을 눌러서 피드백해주세요.

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요