안녕하세요.
반갑습니다
1 .지금 보시면 댓글 입력란에 작성자 라고 있고 작성자 이름을 넣는 칸이 있는데 이것도 혹시 작성자가 댓글을 쓸때 작성자를 기입하지 않고 자동으로 암호화 되는 방법을 알고 싶네
요 그러니까 작성자를 따로 적지 않아도 암호화된 문자로 비밀법호만 넣을수 있게 가능할까요?
2. 상위 이미지에서 보면 작성자 암호화를 했더니 (여기 게시판 찾아서 암호화를 했습니다) 너무 길어져서 밑으로 밀리는데 한 8자리 정도로 줄일수가 있을까요?
감사합니다 ^^
코드를 잘못 수정하신 듯합니다.
이전 댓글에 안내해드린 코드를 참고하셔서
아래의 코드를 추가해보시겠어요?
<?php if($board->id == '1'): // 실제 게시판 id로 적용해주세요.?>
고맙습니다.
1 . /wp-content/plugins/kboard-comments/skin/사용중인스킨/list.php 파일입니다
<?php
// 댓글 입력 필드 시작
ob_start();
?>
<?php if(is_user_logged_in()):?>
<input type="hidden" name="member_display" value="<?php echo $member_display?>">
<?php else:?>
<input type="hidden" id="comment_member_display_<?php echo $content_uid?>" name="member_display" value="익명">
<?php else:?>
<div class="comments-field field-member-display">
<label class="comments-field-label" for="comment_member_display_<?php echo $content_uid?>"><?php echo __('Author', 'kboard-comments')?></label>
<input type="text" id="comment_member_display_<?php echo $content_uid?>" name="member_display" value="<?php echo $temporary->member_display?>" placeholder="<?php echo __('Author', 'kboard-comments')?>..." required>
</div>
<?php endif?>
<div class="comments-field field-password">
<label class="comments-field-label" for="comment_password_<?php echo $content_uid?>"><?php echo __('Password', 'kboard-comments')?></label>
<input type="password" id="comment_password_<?php echo $content_uid?>" name="password" value="" placeholder="<?php echo __('Password', 'kboard-comments')?>..." required>
</div>
<?php endif?>
2. themes/테마/functoins.php 입니다.
// 익명 암호화
add_action('kboard_document_insert', 'my_kboard_document_insert', 10, 4);
function my_kboard_document_insert($content_uid, $board_id, $content, $board){
{ // 실제 게시판 id로 적용해주세요.
if(!is_user_logged_in()){
$content->option->ip = kboard_user_ip();
}
$content->member_display = uniqid();
$content->updateContent();
}
}
add_action('kboard_comments_insert', 'my_kboard_comments_insert', 10, 3);
function my_kboard_comments_insert($insert_id, $content_uid, $board){
if($board->id == '1') $content = new KBContent();
$content->initWithUID($content_uid);
$comment = new KBComment();
$comment->initWithUID($insert_id);
if(is_user_logged_in()){
if($comment->user_uid == $content->member_uid){
$comment->user_display = $content->member_display . ' (작성자)';
}
}
else if($content->option->ip == kboard_user_ip()){
$comment->user_display = $content->member_display . ' (작성자)';
}
$comment->update();
}
}
입니다 잘부탁드립니다.
실제 편집하신 코드를 에디터의
코드 스니펫 삽입 기능으로 올려주시겠어요?
비회원으로도 확인 가능한 페이지 주소 알려주시면 살펴보겠습니다.
uniqid() 부분은 테마 쪽에 추가하신 코드 중에서 교체해보시겠어요?
kboard_document_insert 액션과 kboard_comments_insert 액션 쪽에서 수정해보세요.
고맙습니다.
정말 제가 무지한건지 ㅜㅡㅜ 이해가 잘안가네요 하기사 제가 프로그래머도 아니니까 말이죠
일단 상위에 말씀 주신 코드로 FTP로 접속해서 /wp-content/plugins/kboard-comments/skin/사용중인스킨/list.php 파일을 수정했는데요
댓글창이 아예 없어졌어영 ㅜㅜ
그리고
PHP uniqid 함수는 기본적으로 13자리로 표시됩니다.
앞에서부터 8자리는 초단위, 뒤의 5자리는 마이크로초단위를 16진수로 바꾼 값으로 표시됩니다.
문자열을 잘라서 표시하시려면 substr 함수를 사용하시면 될 듯합니다.
초단위는 마이크로초단위보다 비교적 시간이 길기 때문에
짧은 시간 동안 댓글이 달리면 앞부분이 고정되는 것처럼 보일 수 있습니다.
뒷부분 6자리로 표시되게 하시려면
uniqid() 부분을 substr(uniqid(), -6)로 모두 교체해보시겠어요?
8자리로 표시하시려면 -6 부분을 -8로 적용해보세요.
고맙습니다.
요내용은 어떤 파일을 손을 봐야 하는지 모르겠습니다 ㅜㅜ
PHP uniqid 함수는 기본적으로 13자리로 표시됩니다.
앞에서부터 8자리는 초단위, 뒤의 5자리는 마이크로초단위를 16진수로 바꾼 값으로 표시됩니다.
문자열을 잘라서 표시하시려면 substr 함수를 사용하시면 될 듯합니다.
초단위는 마이크로초단위보다 비교적 시간이 길기 때문에
짧은 시간 동안 댓글이 달리면 앞부분이 고정되는 것처럼 보일 수 있습니다.
뒷부분 6자리로 표시되게 하시려면
uniqid() 부분을 substr(uniqid(), -6)로 모두 교체해보시겠어요?
8자리로 표시하시려면 -6 부분을 -8로 적용해보세요.
고맙습니다.
안녕하세요.
비회원 댓글 작성 시 작성자명을 입력하지 않고
랜덤 문자열로 표시하시려면 댓글 스킨 파일을 수정해주셔야 합니다.
FTP로 접속해서 /wp-content/plugins/kboard-comments/skin/사용중인스킨/list.php 파일에
아래의 코드를 찾아서
<?php if(is_user_logged_in()):?>
<input type="hidden" name="member_display" value="<?php echo $member_display?>">
<?php else:?>
<div class="comments-field field-member-display">
<label class="comments-field-label" for="comment_member_display_<?php echo $content_uid?>"><?php echo __('Author', 'kboard-comments')?></label>
<input type="text" id="comment_member_display_<?php echo $content_uid?>" name="member_display" value="<?php echo $temporary->member_display?>" placeholder="<?php echo __('Author', 'kboard-comments')?>..." required>
</div>
<div class="comments-field field-password">
<label class="comments-field-label" for="comment_password_<?php echo $content_uid?>"><?php echo __('Password', 'kboard-comments')?></label>
<input type="password" id="comment_password_<?php echo $content_uid?>" name="password" value="" placeholder="<?php echo __('Password', 'kboard-comments')?>..." required>
</div>
<?php endif?>
아래의 코드로 교체해보시겠어요?
<?php if(is_user_logged_in()):?>
<input type="hidden" name="member_display" value="<?php echo $member_display?>">
<?php else:?>
<?php if($board->id == '1'): // 실제 게시판 id로 적용해주세요.?>
<input type="hidden" id="comment_member_display_<?php echo $content_uid?>" name="member_display" value="익명">
<?php else:?>
<div class="comments-field field-member-display">
<label class="comments-field-label" for="comment_member_display_<?php echo $content_uid?>"><?php echo __('Author', 'kboard-comments')?></label>
<input type="text" id="comment_member_display_<?php echo $content_uid?>" name="member_display" value="<?php echo $temporary->member_display?>" placeholder="<?php echo __('Author', 'kboard-comments')?>..." required>
</div>
<?php endif?>
<div class="comments-field field-password">
<label class="comments-field-label" for="comment_password_<?php echo $content_uid?>"><?php echo __('Password', 'kboard-comments')?></label>
<input type="password" id="comment_password_<?php echo $content_uid?>" name="password" value="" placeholder="<?php echo __('Password', 'kboard-comments')?>..." required>
</div>
<?php endif?>
위의 코드에서 $board->id == '1' 부분은 실제 게시판 id로 적용해주세요.
댓글 쪽 코드는
아래 링크를 참고해보시겠어요?
https://www.cosmosfarm.com/threads/document/36455#document-answer-36587
고맙습니다.
테마의 functions.php 를 아래의 코드로 변환했구요
https://www.cosmosfarm.com/threads/document/27636 참고 하였습니다.
게시판 아이디를 지정해주는 if문을 삭제 하니 전체 게시판에 적용되게 되었습니다.
아래쪽은 댓글인거 같은데 ㅜㅜ 아직 기능이 안되고 있어요 ㅠㅠ
// 익명 암호화
add_action('kboard_document_insert', 'my_kboard_document_insert', 10, 4);
function my_kboard_document_insert($content_uid, $board_id, $content, $board){
{ // 실제 게시판 id로 적용해주세요.
if(!is_user_logged_in()){
$content->option->ip = kboard_user_ip();
}
$content->member_display = uniqid();
$content->updateContent();
}
}
add_action('kboard_comments_insert', 'my_kboard_comments_insert', 10, 3);
function my_kboard_comments_insert($insert_id, $content_uid, $board){
if($board->id == '1'){ // 실제 게시판 id로 적용해주세요.
$content = new KBContent();
$content->initWithUID($content_uid);
$comment = new KBComment();
$comment->initWithUID($insert_id);
if(is_user_logged_in()){
if($comment->user_uid == $content->member_uid){
$comment->user_display = $content->member_display . ' (작성자)';
}
}
else if($content->option->ip == kboard_user_ip()){
$comment->user_display = $content->member_display . ' (작성자)';
}
$comment->update();
}
}
안녕하세요~^^
KBoard 플러그인에서 게시글 및 댓글 작성자명을 수정하는 건
어떤 링크를 참고하셨는지요?
실제 추가하신 코드를 올려주시면 보다 정확한 답변을 받으실 수 있습니다.
에디터의 코드 스니펫 삽입 기능으로 코드를 올려주시겠어요?
고맙습니다.