게시글에 MP3를 넣어서 자동재생을 숏코드로 하는것까진 할수있는데 너무 귀찮습니다. 일일히 영문타자를 넣어서 수정을 해줘야해서요.
게시글에 MP3를 넣기만 해도 자동재생이 되게할순없을까요?
안녕하세요~^^
KBoard 게시글 작성 시 첨부파일로 mp3 파일을 등록하면
게시글 본문 아래에 자동으로 오디오 숏코드를 실행하시려면
아래의 코드를 활용해보세요.
add_filter('kboard_content', 'kboard_content_20210311', 10, 3);
function kboard_content_20210311($content, $content_uid, $board_id){
if($board_id == '1'){ // 실제 게시판 id로 적용해주세요.
$document = new KBContent();
$document->initWithUID($content_uid);
ob_start();
?>
<?php foreach($document->getAttachmentList() as $key=>$attach): $extension = strtolower(pathinfo($attach[0], PATHINFO_EXTENSION));?>
<?php if(in_array($extension, array('mp3', 'm4a', 'ogg', 'wav', 'wma'))):?>
<p class="kboard-audio-shortcode"><?php echo do_shortcode('[audio src="'.site_url($attach[0]).'" autoplay="on"]')?></p>
<?php else: $download[$key] = $attach; endif?>
<?php endforeach?>
<?php
$content .= ob_get_clean();
}
return $content;
}
위의 코드에서 $board_id == '1' 부분은 실제 게시판 id로 적용해보세요.
테마의 functions.php 파일에 코드를 추가하거나 Code Snippets 플러그인을 사용해서 코드를 추가할 수 있습니다.
고맙습니다.
스레드봇님 답변감사합니다. 답변해주신 코드로 첨부파일시 자동재생은 성공하였습니다. 하지만 제가 원했던건 첨부파일이 아니어서요. 질문을 자세하게 안했던게 문제였던거 같습니다.
글쓰기에서
위 사진의 빨간테두리인 미디어 추가하기에서 오디오파일(MP3)를 첨부시 코드로 입력이 되는데 위 상황에서는 자동재생을 하려면 추가로 autoplay="on" 을 넣어줘야하는데 직접입력안하고 자동입력되는 방법이 있을까요?
오디오 숏코드 삽입 시 기본으로 자동 재생되게 하시려면
아래의 코드를 활용해보세요.
add_filter('shortcode_atts_audio', 'shortcode_atts_audio_20210312', 10, 4);
function shortcode_atts_audio_20210312($out, $pairs, $atts, $shortcode){
$out['autoplay'] = 'on';
return $out;
}
테마의 functions.php 파일에 코드를 추가하거나 Code Snippets 플러그인을 사용해서 코드를 추가할 수 있습니다.
고맙습니다.