원더풀 제품소개 스킨 쪽지보내기 버튼 만드는 방법 질문드려요

제품소개 스킨 이용중입니다.

css수정부분에서 #kboard-wonderful-product-document .kboard-detail { display: none; } 코드로 조회수 작성자 등을 없애버렸는데요

https://imgur.com/a/ybYhAsE 이런식으로 첨부파일 다운로드 버튼위치쯤에

쪽지보내기 버튼을 만들어 쪽지를 보내게 하고싶습니다. 

https://www.cosmosfarm.com/threads/document/45175 여기서 참고해서 만들어 보려고 했는데 위치를 어떻게 옮겨야 할지 모르겠습니다.

그리고 비회원도 쪽지 기능을 이용할 수 있나요? 안되면 비회원으로 쪽지보내기 버튼 누르면 로그인페이지로 이동하게 하고싶습니다.

 

마지막으로 https://www.cosmosfarm.com/threads/document/36605 이 글을 참고해서 링크버튼을 만들었는데 css를 통해 위치를 변경하려고 하면 위의 표가 같이 움직이는데 이 버튼도 쪽지보내기 옆에 따로 옮기고 싶습니다.

개발쪽 문외한이라 질문이 많아 죄송합니다ㅠㅠ

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
  • 안녕하세요~^^

    KBoard 원더풀 제품소개 스킨 본문 페이지에서 첨부파일은

    FTP로 접속해서 /wp-content/plugins/kboard/skin/사용중인스킨/document.php 파일에

    아래의 코드로 표시하고 있습니다.

    <?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>

    </div> 코드 아래에 원하시는 코드를 추가하시면

    첨부파일 아래에 추가하신 코드를 표시되게 하실 수 있습니다.

     

    올려주신 링크에 안내되어 있는 코드를

    아래의 코드로 교체하시면 비회원 사용자에게도 쪽지 보내기 링크를 표시할 수 있으며

    비회원 사용자가 쪽지 보내기 링크 클릭 시 로그인 페이지로 이동하게 하실 수 있습니다.

    <?php
    if(get_current_user_id() != $content->member_uid){
    	echo sprintf('<a href="%s" title="쪽지 보내기">%s</a>', get_cosmosfarm_members_messages_url(array('to_user_id'=>$content->member_uid, 'redirect_to'=>urlencode($_SERVER['REQUEST_URI']))), $content->getUserDisplay());
    }
    ?>

     

    별도의 필드를 편집해서 링크로 만드신 경우

    원하시는 영역에 표시되게 하시려면

    기존 필드를 표시하는 코드에서는 해당 필드를 안 보이게 하고

    본문 페이지 원하시는 영역에 코드를 추가해주셔야 할 듯합니다.

    아래의 코드를 추가해보세요.

    add_filter('kboard_skin_fields', 'kboard_skin_fields_20200914', 10, 2);
    function kboard_skin_fields_20200914($fields, $board){
    	if(kboard_mod() == 'document' && $board->id == '1'){ // 실제 게시판 id로 적용해주세요.
    		$meta_key = '메타키';
    		unset($fields[$meta_key]);
    	}
    	return $fields;
    }

    위의 코드에서 $board->id == '1' 부분은 실제 게시판 id로 적용해주세요.

    $meta_key = '메타키' 부분은 실제 입력 필드의 메타키로 적용해보세요.

    테마의 functions.php 파일에 코드를 추가하거나 Code Snippets 플러그인을 사용해서 코드를 추가할 수 있습니다.

     

    document.php 파일에서는 아래의 코드로 해당 필드에 입력된 주소로 링크를 거실 수 있습니다.

    <a href="<?php echo $content->option->메타키?>">링크</a>

    위의 코드에서도 메타키 부분은 실제 필드의 메타키로 적용해주세요.

    고맙습니다.

  • 입력 필드 설정 중 "게시글 본문에 표시"를 체크하지 않으시면

    kboard_skin_fields 필터 코드는 추가하지 않으셔도 됩니다.

    고맙습니다.

  • 잘 해결했습니다. 항상 빠른답변 감사합니다^^

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