안녕하세요. 저번 질문에 추가로 질문드립니다. (지난글: https://www.cosmosfarm.com/threads/document/28792)
1. 입력필드 탭이 보이지 않습니다. 플러그인 업뎃이 필요한건가요. (스크린샷 참고 부탁드려요: https://prnt.sc/m3f19c )
2. 입력필드 탭이 추가되었다는 가정하에 추가 필드를 삽입할경우 (스크린샷 참고 부탁드려요: https://prnt.sc/m3f5hb )
a) 추가필드에 특정상품 '링크'를 삽입하고 사용자가 글에서 그 링크를 클릭할경우 바로 외부 상품페이지로 가게 할 수 있나요?
b) 또한, 이미지를 클릭하였을때 그 링크 필드를 trigger해서 그 외부 링크로 가게 만들었으면 좋겠습니다.
안녕하세요.
게시글 클릭 시 새창으로 표시하시려면
FTP로 접속해서 /wp-content/plugins/kboard/skin/사용중인스킨/list.php 파일에
아래의 코드를 모두 찾아서
<a href="<?php echo $url->getDocumentURLWithUID($content->uid)?>" title="<?php echo esc_attr($content->title)?>">
아래의 코드로 모두 교체해보세요.
<a href="<?php echo $url->getDocumentURLWithUID($content->uid)?>" title="<?php echo esc_attr($content->title)?>" target="_blank">
/wp-content/plugins/kboard/skin/사용중인스킨/latest.php 파일에
아래의 코드를 모두 찾아서
<a href="<?php echo $url->set('uid', $content->uid)->set('mod', 'document')->toStringWithPath($board_url)?>" title="<?php echo esc_attr($content->title)?>" target="_blank">
아래의 코드로 모두 교체해보세요.
<a href="<?php echo $url->set('uid', $content->uid)->set('mod', 'document')->toStringWithPath($board_url)?>" title="<?php echo esc_attr($content->title)?>">
추가하신 link_1 입력 필드에 값이 있을 때만 새창으로 표시하시려면
안내해드린 코드 중에서 target="_blank" 부분을
아래의 코드로 모두 교체하신 후 적용해보시겠어요?
<?php if($content->option->link_1):?> target="_blank"<?php endif?>
고맙습니다.
너무 너무 감사드립니다 ~ 고민하던 부분이 해결되었네요.
혹시 같은 페이지에서 열리지 않고 *** 새창 *** 에서 열리게 할 수 있을가요?
게시판과 최신글모음에서의 코드 둘 다 부탁드릴께요. ^^ 감사합니다.
안녕하세요.
최신글 모아보기에도 적용하시려면
기존의 코드를 아래의 코드로 교체해보시겠어요?
add_filter('kboard_url_document_uid', 'my_kboard_url_document_uid', 10, 3);
function my_kboard_url_document_uid($url, $content_uid, $board){
$content = new KBContent();
$content->initWithUID($content_uid);
$board = $content->board;
if($board->id == '1' && $content->option->link_1){
$url = $content->option->link_1;
}
return $url;
}
위의 코드에서 $board->id == '1' 부분은 실제 게시판 id로 적용해주세요.
고맙습니다.
이제 되네요!
혹시 원더풀 게시판 - "최신글 모아보기" 에서 url로 바로가는 방법도 알려주실 수 있으세요?
친절한 답변 감사드립니니다.
안녕하세요.
올려주신 페이지 확인해보니 게시판 id는 12입니다.
이전 댓글에 안내해드린 코드 중에서
$content->option->link 부분을 $content->option->link_1 로 교체해주셨는지요?
실제 적용하신 코드를 에디터의 코드 스니펫 삽입 기능으로 올려주시겠어요?
고맙습니다.
먼저 친절한 답변 감사드립니다.
위에 답변주신 2번 관련해서, 새로운 필드를 만들고 코드를 입력하였으나 여전히 원더풀 게시판에서 게시글을 눌러도 링크필드에 삽입된 링크로 이동을 하지 않습니다.
meta값은 'link_1'으로 하였고 php코드에서도 그렇게 변경후 맞는 게시판 아이디까지 수정하였습니다. 한번만 다시 봐주실 수 있으세요? 감사드립니다.
참고 게시판 페이지: https://www.yellow-friday.com/super-sale/?uid=274&mod=document&pageid=1
안녕하세요~^^
1. KBoard 플러그인에서 입력필드 설정 탭이 표시되지 않는다면
최신 버전으로 업데이트해보시겠어요?
업데이트 방법은 아래의 링크를 참고해보세요.
2. KBoard 플러그인에서 kboard_url_document_uid 필터를 사용하시면
게시글 목록 페이지에서 게시글 클릭 시 이동할 페이지 주소를 변경하실 수 있습니다.
우선, 입력필드 설정 페이지에서 확장 필드인 텍스트/숨김 필드를 만들어주세요.
메타키가 link라는 가정하에 안내해드리겠습니다.
워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에
아래의 코드를 추가해보시겠어요?
add_filter('kboard_url_document_uid', 'my_kboard_url_document_uid', 10, 3);
function my_kboard_url_document_uid($url, $content_uid, $board){
if($board->id == '1'){ // 실제 게시판 id로 적용해주세요.
$content = new KBContent();
$content->initWithUID($content_uid);
if($content->option->link){
$url = $content->option->link;
}
}
return $url;
}
위의 코드에서 $board->id == '1' 부분은 실제 게시판 id로 적용해보세요.
3. 말씀하신 이미지는 게시글 본문 페이지를 말씀하시는 건지요?
FTP로 접속해서 /wp-content/plugins/kboard/skin/사용중인스킨/document.php 파일에
아래의 코드를 찾아서
<div class="kboard-wonderful-product-wrap">
<?php if($media_list):?>
<div class="kboard-wonderful-product-image-gallery">
<?php foreach($media_list as $media_item):?>
<div data-thumb="<?php echo kboard_resize($media_item->file_path, 200, 200)?>" data-src="<?php echo kboard_resize($media_item->file_path, 600, 338)?>">
<img src="<?php echo kboard_resize($media_item->file_path, 600, 338)?>" alt="<?php echo esc_attr($media_item->file_name)?>">
</div>
<?php endforeach?>
</div>
<?php else:?>
<div class="kboard-wonderful-product-no-image"></div>
<?php endif?>
<div class="kboard-wonderful-product-option-field">
<?php echo $content->getDocumentOptionsHTML()?>
<?php if($content->isAttached()):?>
<div class="kboard-attach">
<?php foreach($content->getAttachmentList() as $key=>$attach):?>
<button type="button" class="kboard-button-download kboard-wonderful-product-cut-strings" onclick="window.location.href='<?php echo $url->getDownloadURLWithAttach($content->uid, $key)?>'" title="<?php echo sprintf(__('Download %s', 'kboard'), $attach[1])?>"><?php echo $attach[1]?></button>
<?php endforeach?>
</div>
<?php endif?>
</div>
</div>
아래의 코드로 교체해보세요.
<a href="<?php echo $content->option->link?>">
<div class="kboard-wonderful-product-wrap">
<?php if($media_list):?>
<div class="kboard-wonderful-product-image-gallery">
<?php foreach($media_list as $media_item):?>
<div data-thumb="<?php echo kboard_resize($media_item->file_path, 200, 200)?>" data-src="<?php echo kboard_resize($media_item->file_path, 600, 338)?>">
<img src="<?php echo kboard_resize($media_item->file_path, 600, 338)?>" alt="<?php echo esc_attr($media_item->file_name)?>">
</div>
<?php endforeach?>
</div>
<?php else:?>
<div class="kboard-wonderful-product-no-image"></div>
<?php endif?>
<div class="kboard-wonderful-product-option-field">
<?php echo $content->getDocumentOptionsHTML()?>
<?php if($content->isAttached()):?>
<div class="kboard-attach">
<?php foreach($content->getAttachmentList() as $key=>$attach):?>
<button type="button" class="kboard-button-download kboard-wonderful-product-cut-strings" onclick="window.location.href='<?php echo $url->getDownloadURLWithAttach($content->uid, $key)?>'" title="<?php echo sprintf(__('Download %s', 'kboard'), $attach[1])?>"><?php echo $attach[1]?></button>
<?php endforeach?>
</div>
<?php endif?>
</div>
</div>
</a>
고맙습니다.