@Jane_Jojo 님, @Arkshine 님이 보여준 방법을 사용하여 기존 Discourse 토픽을 해당 WordPress 게시물에 연결해 보세요. Classic WordPress 편집기를 사용하는지, 아니면 새로운 블록 편집기를 사용하는지에 따라 사용자 인터페이스가 약간 다를 수 있습니다.
Discourse 토픽을 WordPress 게시물에 연결하는 것이 작동한다면, 다음으로 알아봐야 할 것은 기존 토픽과 게시물을 모두 연결하는 방법입니다. 오래된 게시물이 얼마나 많은가요? Discourse에 수동으로 연결할 게시물이 너무 많다면, 이 과정을 자동화할 방법이 있을 수 있습니다.
웹훅에 "ping"을 보내면 보시는 오류 메시지가 생성됩니다. WordPress 측에서 Discourse에서 전송되는 웹훅에 post 객체가 포함되어 있어야 한다고 기대하고 있습니다. 단순히 “ping” 버튼을 클릭한 경우 페이로드에 게시물이 포함되지 않습니다. Discourse와 연결된 Discourse 주제에 댓글을 남겨 보시고, 여전히 오류가 발생하는지 확인해 보세요.
Discourse 댓글이 WordPress 사이트에 표시되도록 하는 문제의 경우:
Discourse에 게시물을 게시하는 게시물에 대해 WordPress에서 댓글이 활성화되어 있는지 확인하세요.
이전에 WordPress 사이트에서 댓글이 활성화되어 있지 않았다면, 아직 Discourse에 연결되지 않은 게시물에 대해 이제 활성화하고 싶지 않을 수 있습니다. 이러한 게시물에 대해 WordPress 댓글 양식이 표시되지 않도록 하려면, 사이트 전체에서 댓글을 활성화한 다음 WP Discourse Commenting Options 페이지에서 “Remove WordPress Comments Template” 설정을 선택할 수 있습니다:
음, 페이지에서 댓글 템플로트가 로드되고 있음을 나타내는 어떤 것도 찾을 수 없습니다. 스크린샷에 있는 discourse-embed-js에 대한 언급은 WP Discourse 플러그인에서 온 것이 아닙니다. 제 생각에는 wp-discourse-embed 플러그인에 의해 로드된 스크립트와 관련이 있는 것 같습니다. 실제로 이 스크립트가 사용자의 사이트에서 오류를 유발하고 있습니다:
Failed to load resource: the server responded with a status of 404 () discourse-embed.js
또한 페이지에는 WP Discourse 플러그인이 아닌 wp-discourse-embed 플러그인에서 온 <div id="discourse-comments"></div>도 있습니다.
사이트에 캐시된 댓글에 문제가 있다는 것을 확인하기 전까지는 WP Discourse의 “Load Comments With Ajax” 설정을 활성화하지 않는 것이 좋습니다. 설령 그런 경우라도, 댓글 템플로트를 표시하는 것은 가능해야 합니다.
사용자의 사이트에 댓글과 관련된 플러그인이 설치되어 있나요? 플러그인이나 사이트 테마가 WordPress 댓글 템플로트의 로드를 방해하고 있는 것이 아닌가 궁금합니다. WP Discourse 플러그인은 해당 템플로트가 로드되는 것에 의존합니다. 이를 위한 몇 가지 우회 방법이 있지만, 모두 상당히 기술적인 내용입니다.
기억에 의존해서 말씀드리지만, 수정된 comments.php 파일이 문제의 원인은 아닐 것 같습니다. 원래 일어나야 할 일은 테마의 comments.php 파일이 로드되는 대신, 테마에서 이 함수가 호출될 때 WP Discourse 플러그인이 자체 댓글 섹션을 로드하는 것입니다: comments_template().
Discourse에 연결된 게시물을 표시하는 데 사용되는 테마의 single.php 파일 또는 해당 파일을 확인해 보세요. 해당 파일에 comments_template() 호출이 포함되어 있는지 살펴보세요. 다음과 같은 형태일 것입니다:
if ( comments_open() || get_comments_number() ) :
comments_template();
endif;