k-board 질문 드립니다.
ask skin //
1. 유저가 글을 쓰는 페이지에서는 비밀번호 / 연락처 / 이메일 (입력필드 설정에서 직접 넣음) 가 나와야하고, 관리자가 유저의 글에 답글을 달때는 페이지에서는 비밀번호 / 연락처 / 이메일 이 사라졌으면 좋겠습니다.
id 값만 있으면 css 수정이 용이할텐데 아이디 값을 같은걸 받는건지 수정이 불가합니다.
2. 입력필드 관리에서 '게시글 본문에 표시' 라는 체크 박스를 사용했습니다. 관리자가 유저의 글을 볼 때는 '게시글 본문에 표시'가 활성화가 되어야하고, 유저가 관리자의 답변을 볼 때는 '게시글 본문에서 표시' 를 비활성화 했으면 좋겠습니다. 어쩌면 좋을까요?
쉽게말해 유저의 정보를 관리자만 확인 할 수 있게하고, 관리자의 정보는 유저가 볼 수 없게 하고싶습니다.
감사합니다.
안녕하세요~^^
1. 관리자가 답글을 달 때 특정 입력 필드를 안 보이게 하시려면
아래의 코드를 활용해보시겠어요?
add_filter('kboard_skin_fields', 'kboard_skin_fields_20210219', 10, 2);
function kboard_skin_fields_20210219($fields, $board){
$builder_mod = kboard_builder_mod();
$parent_uid = kboard_parent_uid();
if($board->id == '1' && $parent_uid && $builder_mod == 'editor' && $board->isAdmin(get_current_user_id())){
foreach($fields as $key => $field){
if(in_array($field['meta_key'], array('메타키1', '메타키2', '메타키3'))){
unset($fields[$key]);
}
}
}
return $fields;
}
위의 코드에서 $board->id == '1' 부분은 실제 게시판 id로 적용해보세요.
메타키1, 메타키2, 메타키3은 실제 입력 필드의 메타키로 적용해보세요.
2. 관리자가 작성한 입력 필드를 일반 사용자에게는 표시되지 않게 하시려면
아래의 코드를 활용해보시겠어요?
add_filter('kboard_document_add_option_value_field_html', 'kboard_document_add_option_value_field_html_20210219', 10, 4);
function kboard_document_add_option_value_field_html_20210219($value_html, $field, $content, $board){
if($board->id == '1' && !$board->isAdmin() && $board->isAdmin($content->member_uid) && in_array($field['meta_key'], array('메타키1', '메타키2', '메타키3'))){
$value_html = '';
}
return $value_html;
}
위의 코드에서 $board->id == '1' 부분은 실제 게시판 id로 적용해보세요.
메타키1, 메타키2, 메타키3은 실제 입력 필드의 메타키로 적용해보세요.
테마의 functions.php 파일에 코드를 추가하거나 Code Snippets 플러그인을 사용해서 코드를 추가할 수 있습니다.
고맙습니다.
안녕하세요.
관리자에게 옵션 필드를 안 보이게 하신 건지요?
관리자에게 옵션 필드를 안 보이게 하셨다면
아래의 코드를 활용해보세요.
add_action('kboard_skin_field_before_title', 'kboard_skin_field_before_title_20210222', 10, 3);
function kboard_skin_field_before_title_20210222($field, $content, $board){
if(kboard_parent_uid() && $board->id == '1'){ // 실제 게시판 id로 적용해보세요.
$parent = new KBContent();
$parent->initWithUID(kboard_parent_uid());
if($parent->secret){
?>
<input type="hidden" name="secret" value="true">
<input type="hidden" name="password" value="<?php echo uniqid()?>">
<?php
}
}
}
위의 코드에서 $board->id == '1' 부분은 실제 게시판 id로 적용해보세요.
위와 같이 코드를 적용하시면 답글 작성 시 원글이 비밀글이라면
답글도 자동으로 비밀글로 작성하게 됩니다.
고맙습니다.
너무 감사합니다! 실행이 잘 돼요!
그런데 비밀글 메타키를 적용하니 비밀글이 전혀 사용이 되질 않습니다.
답글을 쓸때 사용자의 비밀글 값을 받는건 불가능한지 여쭈고 싶습니다.
메타키 삭제를 하면 활성화가 아예 되질 않는건가요?
감사합니다!
//
위의 내용이 불가하다면 혹시 '비밀글을(메타키를 제거) 없애지않고 이미 값이 입력이 되어있는(디폴트로 비밀번호 입력 되어있는)' 상태는 불가한지 여쭈고 싶습니다.
번거롭게 해서 죄송합니다!!
감사합니다. 해결되었습니다!