WP 페이지나 게시물에 댓글이 표시되지 않지만, 페이지가 Discourse에서 스레드로 나타납니다

게시물과 페이지 모두에 대해 Discourse를 활성화해 두었습니다.

C20 - Faith Faraday - FF7.com 같은 WordPress 페이지에 남기는 댓글은 해당 페이지 자체에도, Discourse에도 표시되지 않습니다. 대신 Discourse에는 'C2’라는 제목의 스레드가 존재하지만 답글은 없습니다. 해당 페이지에 대응하는 스레드는 https://forum.ff7.com/t/c2/11 에 있습니다.

페이지에서 이 기능이 작동하도록 하려는 이유는 책의 각 장 끝에 비교적 짧은 URL을 배치해 두었기 때문이며, 독자들을 리다이렉트하고 싶지 않기 때문입니다.

참고로 저는 제 설치 환경에서 Discourse를 사용하고 있습니다.

도움 주셔서 감사합니다!

네이선, 어서 와요. 로그 페이지의 메타 파일을 공유해 주시겠어요?

물론입니다! 답장 주셔서 감사합니다. 영상 정말 좋아해요!

이상하게도 메타 데이터를 다운로드하면 zip 파일이 비어 있어요. ‘view meta’ 필드의 텍스트는 다음과 같습니다:

### This file is included in log downloads ###

### Server ###

WordPress - 6.8.3
PHP - 7.4.33
MySQL - 5.5.68

### Active Plugins ###

Breakdance - 2.5.2
WP-Discourse - 2.6.0

### WP Discourse Settings (Secrets Excluded) ###

connection-logs - 1
display-subcategories - 1
allow-tags - 1
max-tags - 5
publish-as-unlisted - 0
full-post-content - 0
custom-excerpt-length - 55
add-featured-link - 0
auto-publish - 1
force-publish - 1
force-publish-max-age - 0
publish-failure-notice - 1
auto-track - 1
allowed_post_types - post,page
exclude_tags - 
hide-discourse-name-field - 0
discourse-username-editable - 0
direct-db-publication-flags - 0
verbose-publication-logs - 1
enable-discourse-comments - 1
comment-type - display-comments
ajax-load - 1
load-comment-css - 0
discourse-new-tab - 0
hide-wordpress-comments - 1
show-existing-comments - 0
max-comments - 5
min-replies - 0
min-score - 0
min-trust-level - 0
bypass-trust-level-score - 50
only-show-moderator-liked - 0
custom-datetime-format - 
cache-html - 0
clear-cached-comment-html - 0
verbose-comment-logs - 0
use-discourse-webhook - 0
use-discourse-user-webhook - 0
webhook-match-user-email - 0
verbose-webhook-logs - 0
verbose-sso-logs - 1
enable-sso - 0
auto-create-sso-user - 0
real-name-as-discourse-name - 0
force-avatar-update - 0
redirect-without-login - 0
sso-client-enabled - 0
sso-client-login-form-change - 0
sso-client-sync-by-email - 0
sso-client-disable-create-user - 0
sso-client-sync-logout - 0
logs-enabled - 1

아, 이 경우 문제는 댓글을 렌더링하려는 페이지에 comments_template이 없기 때문인 것 같습니다.

WP Discourse plugin tips and tricks 의 “WordPress 댓글 템플릿을 로드하지 않고 댓글 표시하기” 항목을 확인해 보세요.

정말 감사합니다! 초보자의 질문을 용서해 주세요. 웹 개발자로서 활동한 지 거의 30년이 지났는데, 그 코드를 템플릿의 어디에 붙여넣어야 하나요? 저는 Breakdance 템플릿을 사용하고 있습니다.

브레이크 댄스 템플릿에 대해 잘 알지 못합니다. 링크하신 페이지에서 템플릿을 직접 수정해야 합니다. 브레이크 댄스에 코드 블록이나 코드 요소가 있나요? 있다면 해당 위치에서 이 스니펫을 삽입하도록 사용해 보세요.

<?php
use WPDiscourse\Utilities\Utilities as DiscourseUtilities;
$discourse_comments = DiscourseUtilities::get_discourse_comments(get_the_ID());
echo $discourse_comments;
?>

헤더에 넣어 보았지만, 페이지에 그대로 렌더링되더라고요. 그래서 이번에는 상단 메뉴 템플릿에 코드 블록으로 넣어 보려고 합니다. 결과가 어떨지 알려드릴게요!

그렇게 하면 되는 것 같지만, 코드 블록을 다른 곳에 배치해야 할 것 같습니다!

이 부분은 Discourse 쪽에서 작성한 게시글 중 하나가 WordPress 쪽에 표시된 것입니다:

여기서 게시글을 작성하면 FF7.com의 C2 페이지에 게시글이 표시될지 궁금합니다

코드 블록을 올바른 위치에 배치해야 한다는 말씀의 요지를 놓치고 있었네요. 그렇게 하니 잘 작동했습니다! 하지만 여기 WordPress에서는 뷰어가 댓글/답변을 남길 수 없습니다. 아마도 이 기능을 잘못 이해하고 있는 걸까요?

문서나 스레드를 더 찾아보니, 이제 discourse 뷰에서만 사람들이 댓글을 달고 고급 discourse 기능을 사용할 수 있다는 것을 이해했습니다(이건 당연하죠). 대신 WordPress 페이지에는 원하는 수만큼 댓글을 렌더링할 수 있습니다. 결국 하단에 링크를 하나 두어서, 그 링크를 클릭한 후 포럼에서 답글을 달도록 안내해야 할 것 같습니다. 해당 링크는 “포럼에서 토론을 계속하세요 (forum.ff7.com)”입니다.

네이선, 생각을 설명해줘서 고마워.

좋은 계획이야 :+1: