안녕하세요?
KBoard 에서 디폴트 스킨으로 워드프레스 내장 에디터 사용하고 있습니다.
게시글이 작성되고 그리고 다시 댓글 달기로 댓글이 작성되었을 때,
관리자가 해당 게시글을 "관리자 승인"으로 변경을 해도 아래의 댓글은 그대로 노출이 되는데요,
특정 게시글을 관리자 승인으로 변경하면 아래 댓글도 같이 승인대기로 바꿀 수 있는 방법이 있나요?
해당 게시판의 댓글 보기를 본인 댓글만 보기로 변경을 하니까 다른 게시글의 댓글까지 모두 보이지 않는 현상이 발생하네요.
방법 좀 알려주세요.
고맙습니다.
안녕하세요~^^
KBoard 플러그인에서 승인대기 중인 게시글에 댓글의 내용도
승인대기 표시를 하시려면
아래의 코드를 활용해보시겠어요?
add_filter('kboard_comments_content', 'kboard_comments_content_20201230', 10, 3);
function kboard_comments_content_20201230($comments_content, $comment_uid, $content_uid){
$content = new KBContent();
$content->initWithUID($content_uid);
$comment = new KBComment();
$comment->initWithUID($comment_uid);
$board = $comment->getBoard();
if(!$board->isAdmin() && $content->status == 'pending_approval' && $board->id == '1'){ // 실제 게시판 id로 적용해주세요.
$comments_content = __('[Pending] Waiting for administrator Approval.', 'kboard');
}
return $comments_content;
}
위의 코드에서 $board->id == '1' 부분은 실제 게시판 id로 적용해보세요.
테마의 functions.php 파일에 코드를 추가하거나 Code Snippets 플러그인을 사용해서 코드를 추가할 수 있습니다.
고맙습니다.
고맙습니다.
해당 게시판 id 를 넣고 게시글을 승인대기로 바꾸었더니 아래에 있던 댓글도 승인대기로 바뀌고 읽을 수 없습니다.
이후에 다른 게시판에도 같은 결과를 만들려면 해당 코드를 추가해서 게시판 id만 바꾸면 되는건가요?
고맙습니다.
여러 게시판에 적용하시려면
이전 댓글에 안내해드린 코드 중 $board->id == '1' 부분을
in_array($board->id, array('1','2','3')) 이런 식으로 교체해서 확인해보시겠어요?
고맙습니다.
여러 게시판에 적용하려고 알려 주신대로
165행 if(!$board->isAdmin() && $content->status == 'pending_approval' && in_array($board->id, array('1','18','17')){ // 실제 게시판 id로 적용해주세요.
166행 $comments_content = __('[Pending] Waiting for administrator Approval.', 'kboard');
이렇게 수정을 해 봤는데 에러가 납니다.
wp-content/themes/Avada-Child-Theme/functions.php 파일 166번 줄의 변경한 PHP 코드에서 오류가 발생하여 원래대로 복구되었습니다. 문제를 해결하고 다시 저장하세요.
어떻게 수정을 해야 할까요?
고맙습니다.
syntax error, unexpected ';'
코드를 잘못 수정하신 듯합니다.
실제 적용한 코드는 아래와 같습니다.
add_filter('kboard_comments_content', 'kboard_comments_content_20201230', 10, 3);
function kboard_comments_content_20201230($comments_content, $comment_uid, $content_uid){
$content = new KBContent();
$content->initWithUID($content_uid);
$comment = new KBComment();
$comment->initWithUID($comment_uid);
$board = $comment->getBoard();
if(!$board->isAdmin() && $content->status == 'pending_approval' && in_array($board->id, array('1','2','3'))){ // 실제 게시판 id로 적용해주세요.
$comments_content = __('[Pending] Waiting for administrator Approval.', 'kboard');
}
return $comments_content;
}
코드 수정 시 중괄호의 열고 닫힘을 잘 확인해주세요.
고맙습니다.