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' 함수를 통해 해당 정보를 화면에 표시하고 있는 것으로 보입니다. 이 부분들도 정확히 동작하고 있는지 확인해보시면 좋을 것 같습니다.
더 도움이 필요하시다면 언제든 다시 질문해주세요! 함께 해결해나가는 과정이 즐거우시기를 바랍니다. 감사합니다!
↓ 아래 버튼을 눌러서 피드백해주세요.