워드프레스 댓글 수정 삭제
375
작성자 없음
작성한 질문수 0
안녕하세요. 인프런을 통해 개발자님 강의 잘 들어보고 여러가지로 배우고 있습니다.
그러던 중에 댓글형식이 워드프레스는 우리나라와 달리 수정 삭제에 제한이 조금 있더군요.
그래서 프론트엔드에서 댓글을 익명으로 패스워드를 걸어 작성하고, 수정, 삭제가 가능하게 구현하고 싶은데 그 방법을 알 수 있을까해서 문의드립니다.
검색하다 아래 내용을 발견했는데 쿠키를 통해서 시간상으로 수정 삭제가 되게 구현하신 방법이더군요.
책관련 사이트 찾아보다 여기 문학수첩 사이트도 워드프레스로 만들어진것 같은데,,,
패스워드를 넣는 댓글이 제가 구현하고 싶은 방법으로 만들어진 것 같더군요. 혹시나 방법을 알 수 있을까해서 문의드려 봅니다 ^^ 감사합니다
http://moonhak.co.kr/《반연간-문학수첩》-2024년-상반기호-출간-기념-매거진/
답변 2
0
안녕하세요, YOU&ME 님. 질문 감사합니다.
댓글에 비밀번호를 넣고, 그걸 이용해서 수정과 삭제를 할 수 있게 만들려고 하시는군요.
워드프레스는 기본적으로 쿠키를 기반으로 댓글 입력을 기억합니다. 계정에 로그인해 댓글을 입력한 것이 아니라면 댓글을 입력한 컴퓨터에서만 댓글을 수정할 수 있죠.
제가 관련 작업을 해 본 것은 아닙니다. 알려주신 《반연간 문학수첩》 2024년 상반기호 출간 기념 매거진 토크는 biscuitpress라는 업체에서 커스텀 작업을 한 것으로 보입니다. 따라서 소스에 접근하기는 힘들 것 같습니다. (다만, 질문에서도 언급하신 블로그를 운영중이신 것 같으니 직접 물어 보셔도 좋을 것 같습니다. 원리를 알려 달라고 하면 대략의 방법은 알려주실 지도 모르니까요.)
관련 플러그인은 없는지 찾아 봤는데 쉽게 나오지는 않는군요. 어쩌면 그런 플러그인이 없을지도 모르겠습니다.
코딩 개요
제가 관련 작업을 해 본 것은 아니지만, 아래처럼 기본적인 설계를 해볼 수 있을 것 같습니다.
만약 비밀번호를 기반으로 댓글을 수정할 수 있게 하시려면 댓글 출력 쪽에 필드를 추가로 만드시고, 댓글이 신규 저장되는 시점에 훅을 걸어서 코멘트 메타 정보로 비밀번호를 저장하셔야 할 것 같습니다.
디비 테이블을 보시면 wp_commentmeta라는 테이블이 있어요. 포스트메타가 포스트에 관한 여러 정보를 저장하는 테이블이라면 코멘트메타는 코멘트에 관한 여러 정보를 저장하는 테이블입니다.
사용법은 포스트메타와 거의 비슷합니다. update_comment_meta 함수를 이용해서 저장하면 됩니다.
댓글이 신규 저장되는 시점의 훅은 comment_post입니다. 따라서 여기에 코멘트메타를 저장하는 로직을 넣으시면 되겠죠.
댓글을 수정하는 로직을 또 만드셔야 하겠죠. 일단 모든 댓글에 수정 버튼이 있어야 할 것 같습니다. 수정 버튼을 누르면 수정 UI가 나와야겠죠. 이 때 비밀번호도 같이 입력할 수 있도록 나와야 할 겁니다.
여기서 댓글을 수정하는 경우 비밀번호가 맞는지 비교를 해 봐야겠죠. 이 비교를 수행하는 타이밍은 wp_update_comment_data 훅이 좋을 것 같습니다. wp-includes/comment.php의 2565라인을 보시면 관련 코드가 있는데요. 아래와 같이 필터를 거친 다음에 WP_Error 객체인지를 검사합니다. 즉, 비밀번호가 맞지 않으면 WP_Error 객체의 인스턴스를 리턴해 주면 되는 거죠.
$data = apply_filters( 'wp_update_comment_data', $data, $comment, $commentarr );
// Do not carry on on failure.
if ( is_wp_error( $data ) ) {
if ( $wp_error ) {
return $data;
} else {
return false;
}
}댓글 삭제도 마찬가지 로직을 따르면 될 것 같습니다. trash_comment 훅을 사용하시면 될 것 같고요.
생각만 한 거라 실제로 할 때는 시행착오가 있을 것이고 제가 말씀드린대로 바로 되지는 않을 겁니다. 그러니 시작 단계의 아이디어로 참고해 주세요.
그럼 도움이 되었으면 좋겠습니다.
좋은 질문해 주셔서 감사합니다.
(블로그에 남겨 주신 문의도 확인했습니다. 고민을 좀 하고 플러그인도 찾아 보는 사이에 인프런에 질문을 남겨 주셔서 여기에서 답을 드립니다 ☺)
0
안녕하세요, 인프런 AI 인턴입니다.
제공해드린 정보에는 워드프레스 댓글 수정 삭제 방법에 대한 구체적인 답변이 포함되어 있지 않습니다. 따라서, 워드프레스에서 익명으로 패스워드를 걸어 댓글을 작성하고, 수정, 삭제가 가능한 방법에 대해 직접적인 답변을 드리기 어렵습니다.
워드프레스 관련하여 특정 기능을 구현하고자 하시면, 워드프레스 공식 포럼이나 개발자 커뮤니티에 질문을 올려보시는 것을 추천드립니다. 또한, 워드프레스 플러그인을 활용하거나 커스텀 코드를 작성해 해당 기능을 구현하는 방법에 대해 조사해보시기 바랍니다.
도움이 되었길 바라며, 추가적인 질문이 있으시면 언제든지 문의주세요. 감사합니다!
뉴스페이퍼 싱글템플릿 디자인 관련 상담 요청
0
25
2
53강 레이아웃에서 css git 링크 관련 질문입니다.
0
33
2
폰트 업로드 단계에 설치해야할 플러그인이 현재 없습니다
0
46
2
FASTCOMET SSL 설정 방법 문의
0
51
2
banbu.kr 사이트 접속이 안됩니다.
0
56
2
엘리멘터
0
48
2
선생님 총체적 난국입니다..
0
71
2
wsl에서 폴더 열기 리눅스 드라이브가 보이지 않습니다.
0
65
1
도메인연결문의
0
53
2
도쿄서버 선택불가의 경우 대체 안을 알려주세요
0
53
2
강의가 오래됐는데 현시점에 원활한 진행이 가능할까요?
0
41
2
XML 불러오기 불가 (이미지만)
0
158
1
플러그인 개발에 대해서 궁금합니다
0
315
2
single-book.php 파일은 워드프레스 기본 제공 파일인가요?
1
300
2
wp_enqueue_style 이동
0
292
2
강의변경
0
391
1
WP 전반적인 질문입니다.
0
447
1
xml 가져오기 불가
0
422
1
xdebug 3.2와 PHPStorm debug 연동
0
773
1
phpStorm에서 Cmd B 정의로 바로 점프하는게 안되요
0
241
1
wp_reset_postdata();
0
344
1
어드민 강의 관련
0
384
1
query loop 관련 커스터마이징 질문
0
262
1
안녕하세요 첫 질문입니다
0
277
4





