‘Discourse에 게시’하면, Ajax 사용을 해제하고 WordPress 댓글을 제거하지 않도록 설정했더라도 WordPress 댓글 제출 상자가 사라지는 것 같습니다. 방문객이 Discourse와 연결된 토론과 함께 WordPress 댓글을 남길 수 있도록 하는 것이 가능한가요?
안녕하세요 @Kayla. 사용 중인 워드프레스 테마가 블록 테마인가요, 아니면 “클래식” 테마인가요?
권장되는 방법은 블록 테마를 사용하는 것입니다. 이렇게 하면 어디에 어떤 댓글 블록을 배치할지 완전히 제어할 수 있으며, 어떤 템플릿이 어떤 것을 덮어쓰는지 걱정할 필요가 없습니다. 예를 들어 워드프레스의 현재 기본 테마(Twenty Twenty Four)에서 워드프레스 댓글 뒤에 디스커스 댓글이 오는 아래 댓글 블록 구성은
다음과 같은 결과를 냅니다.
좋아요! 데모를 올려주신 점 정말 마음에 들어요, 정말 멋져요. ![]()
불행히도 해당 사이트는 ‘클래식’ 제네시스 프레임워크 테마를 사용 중이고, 더욱 불행하게도 Toolset 아카이브 템플릿을 적극적으로 활용하고 있어서 아직 사이트 에디터/FSE 테마에서 이를 재현할 수 없습니다.
좀 더 테스트해 본 결과, Discourse에 게시하기 이전에 WP 댓글이 최소 1개만 있으면 Discourse 답변(먼저 표시)과 WP 댓글(제출 폼 포함!)이 모두 표시되는 것 같습니다. 하지만 바로 Discourse에 게시/연결하면 WP 댓글 기능이 사라집니다. 블록 테마에서도 이런 현상이 발생하는지 궁금합니다. 데모에 WP 댓글이 몇 개 표시되어 있는 걸 봤는데, Discourse에 게시하기 전에 추가하신 건가요, 아니면 후에 추가하신 건가요?
흥미롭게도, 시스템이 그렇게 작동하도록 설계된 것으로 보입니다. 실제 코드 대신 가독성 있는 이름으로 대체한 관련 로직은 다음과 같습니다:
if ( "Show Existing WP Comments"가 비활성화되어 있거나 Wordpress 댓글이 없으면 ) {
Discourse 댓글만 반환
} else {
Discourse 댓글을 반환한 다음 Wordpress 댓글을 반환
}
혹시 도움이 된다면, 조건문의 “또는 Wordpress 댓글이 없으면” 부분을 안전하게 제거할 수 있을 것 같습니다.
블록 테마에서는 각 블록이 독립적인 요소이므로, 다양한 유형의 댓글 수나 타이밍이 아무런 영향을 미치지 않습니다. 따라서 보이는 그대로가 표시됩니다.
플러그인 자체를 수정해야 하는가요(그리고 업데이트될 때마다)? 아니면 이 if-else 문에 접근하여 IF 부분을 수정할 수 있는 방법이 있나요? 이 부분이 정확히 제가 변경해야 할 대상인 것 같습니다.
플러그인 자체에서 해당 항목을 제거하는 방향으로 검토해 보겠습니다. 잠시만 기다려 주세요. 결과를 알려드리겠습니다.
수정: 이 변경 사항은 플러그인의 다음 버전(2.5.4)에 반영됩니다.
이 문제에 대해 마무리를 하자면, 2.5.4 버전부터는 더 이상 기존 댓글이 하나 이상 있어야만 Wordpress 댓글을 표시할 필요가 없습니다.
최신 버전이 클래식 테마에서 WP와 Discourse 댓글을 함께 사용할 수 있는 문제를 해결한다는 것을 확인했습니다. 정말 감사합니다!
