일반게시판에서 답글쓰기 버튼을 누르면 제가 추가해놨던 입력필드가 모두 따라옵니다.
답글달때는 제목과 본문작성필드만 있으면 좋겠는데 찾아보니 다른 게시글에
<?php if($content->parent_uid):?>
답글쓰기일 경우 표시
<?php endif?>
<?php if(!$content->parent_uid):?>
답글쓰기가 아닐 경우 표시
<?php endif?>
이 코드를 활용해보라해서 editor.php 에 추가했습니다.
그러나 아래 진하게 볼드로 표시한 코드를 지우면 모두 사라집니다.
관리자가 답글을 작성할때 기존에 추가해놓은 입력필드는 모두 안보이고, 제목과 본문만 나오게 하는 방법 알려주세요...
<?php if($content->parent_uid):?>
<div id="kboard-default-editor">
<form class="kboard-form" method="post" action="<?php echo esc_url($url->getContentEditorExecute())?>" enctype="multipart/form-data" onsubmit="return kboard_editor_execute(this);">
<?php $skin->editorHeader($content, $board)?>
<?php foreach($board->fields()->getSkinFields() as $key=>$field):?>
<?php echo $board->fields()->getTemplate($field, $content, $boardBuilder)?>
<?php endforeach?>
<div class="kboard-control">
<div class="left">
<?php if($content->uid):?>
<a href="<?php echo esc_url($url->getDocumentURLWithUID($content->uid))?>" class="kboard-default-button-small"><?php echo __('Back', 'kboard')?></a>
<a href="<?php echo esc_url($url->getBoardList())?>" class="kboard-default-button-small"><?php echo __('List', 'kboard')?></a>
<?php else:?>
<a href="<?php echo esc_url($url->getBoardList())?>" class="kboard-default-button-small"><?php echo __('Back', 'kboard')?></a>
<?php endif?>
</div>
<div class="right">
<?php if($board->isWriter()):?>
<button type="submit" class="kboard-default-button-small"><?php echo __('Save', 'kboard')?></button>
<?php endif?>
</div>
</div>
</form>
</div>
<?php endif?>
안녕하세요~^^
올려주신 코드 중 굵게 표시된 코드는
입력 필드 설정을 지원하는 스킨에서 적용된 코드입니다.
입력 필드 설정을 지원하는 스킨의 답글 작성 페이지에서 필드를 안 보이게 하시려면
kboard_skin_fields 필터를 활용해보세요.
예제 코드는 아래와 같습니다.
add_filter('kboard_skin_fields', 'kboard_skin_fields_20210330', 999, 2);
function kboard_skin_fields_20210330($fields, $board){
if(kboard_parent_uid() && $board->id == '1'){ // 실제 게시판 id로 적용해주세요.
unset($fields['메타키1']);
unset($fields['메타키2']);
}
return $fields;
}
위의 코드에서 $board->id == '1' 부분은 실제 게시판 id로 적용해보세요.
메타키1, 메타키2 부분은 실제 입력 필드의 메타키로 적용해보세요.
테마의 functions.php 파일에 코드를 추가하거나 Code Snippets 플러그인을 사용해서 코드를 추가할 수 있습니다.
워드프레스 관리자 -> KBoard -> 게시판 목록 -> 게시판 선택 -> 입력필드 설정 탭에서
각 입력 필드의 메타키를 확인해보실 수 있습니다.
고맙습니다.
여러 개의 게시판에 적용하시려면
이전 댓글에 안내해드린 코드 중
$board->id == '1' 부분을 in_array($board->id, array('1', '2')) 이런 식으로 교체해보시겠어요?
array('1', '2') 부분은 실제 게시판 id로 적용해보세요.
array('1', '2', '3', '4', '5') 이런 식으로도 활용하실 수 있습니다.
고맙습니다.
감사합니다. 알려주신대로 functions.php에 위 코드와 제거해야 할 메타키를 변경했더니 답글에서만 입력필드가 지워지네요.
혹시 게시판이 여러개일때는 어떻게 해야 하나요?
해결됐습니다. 감사합니다.