스레드봇님께서 알려주신 방법대로 예전에 익명 체크박스를 만들었는데
검색폼에 (익명으로 표시된)실제 회원 아이디를 검색하면 그 아이디에 해당되는 익명 게시글이 검색되서요ㅠ
익명 체크박스 선택한 게시글은 검색폼에서도 익명이라고 쳐야 나오고 아이디 치면 안나오게끔 할 수 있나요..?
안녕하세요~^^
워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에 functions.php 파일 하단에
아래의 코드를 추가해보시겠어요?
add_action('kboard_pre_document_update', 'my_kboard_pre_document', 10, 4);
add_action('kboard_pre_document_insert', 'my_kboard_pre_document', 10, 4);
function my_kboard_pre_document($uid, $board_id, $content, $board){
if(!$content->option->nickname != '1'){
$content->member_display = '익명';
}
else{
if($uid && is_user_logged_in()){
$current_user = wp_get_current_user();
$content->member_display = $current_user->display_name;
}
}
}
위의 코드에서 nickname 부분을 실제 추가하신 코드로 적용해보세요.
고맙습니다.
http://www.cosmosfarm.com/threads/document/12076
위 내용가지고 했었는데 nickname부분 변경하는게 어려워요ㅠ 잘 안되네요ㅠㅠ
제 코드에 오류가 있을까 해서 사이트도 남깁니다.
http://www.cosmosfarm.com/threads/document/12076 이쪽 게시글 그대로 진행하면 안될 듯합니다.
익명으로 표시되는 것은 스킨에서 표시만 그렇게 하는 것이기 때문에 해결이 불가능합니다.
처음부터 member_display 필드에 값이 저장되면 안됩니다.
아래 내용대로 다시 스킨을 수정보시겠어요?
1. 스킨의 editor.php 파일에 아래 코드를 추가해주세요.
<div class="kboard-attr-row">
<label class="attr-name" for="kboard-input-anonymous">익명</label>
<div class="attr-value"><label><input type="hidden" name="kboard_option_anonymous" value=""><input type="checkbox" name="kboard_option_anonymous" value="1"<?php if($content->option->anonymous):?> checked<?php endif?>> 익명으로 표시하기</label></div>
</div>
2. 아래 코드를 테마의 functions.php 파일에 추가해주세요.
add_filter('kboard_insert_data', 'kboard_data_anonymous', 10, 2);
add_filter('kboard_update_data', 'kboard_data_anonymous', 10, 2);
function kboard_data_anonymous($data, $board_id){
if(isset($_POST['kboard_option_anonymous']) && $_POST['kboard_option_anonymous']){
$data['member_display'] = '익명';
}
return $data;
}
이렇게 하시면 익명 체크되어있을 때 작성자 이름이 항상 '익명'으로 저장됩니다.
실제 작성자 이름으로 검색도 안됩니다.
고맙습니다.