설정에 표시가 되어 있음에도 댓글만 링크됩니다

내 설정과 사이트 프론트엔드의 비교 화면입니다:

Ajax로도 작동하지 않습니다. 캐싱 플러그인을 비활성화해 봤지만 여전히 문제가 해결되지 않습니다.

테마는 커스텀 테마이며, 아래처럼 표준 댓글 템플릿을 사용하여 댓글을 로드하고 있습니다:

<?php
comments_template();
?>

이 문제를 디버깅하는 방법에 대한 제안이 있을까요?

웹훅 설정을 사용하여 댓글을 전송하고 있으며, 웹훅 로그를 확인해 보니 WP 사이트로 전송된 댓글에 대해 200 상태 코드가 표시됩니다.

게시물 하단에 Discourse Comments 블록을 수동으로 넣어야만 링크된 댓글이 표시됩니다.

또한, 관리자 페이지의 게시물 목록에서 게시물 옆에 댓글 수를 확인할 수 있습니다. 따라서 시스템에 댓글이 저장되어 있는 것은 분명합니다.

생성된 HTML은 다음과 같습니다:

<div id="comments" class="comments-area">
	<div class="respond comment-respond">
		<h3 id="reply-title" class="comment-reply-title">
			<a class="wpdc-discourse-topic-link" href="https://slowtwitch.northend.network/t/on-sam-laidlow-s-im-world-championship-validation-debacle/2236073">slowtwitch.northend.network</a>에서 토론에 참여하세요
		</h3>
	</div>
</div>

우선, 링크된 토픽에 게시물이 있나요? 예를 하나 공유해 주실 수 있을까요? 기본적인 질문이라 죄송하지만, 먼저 이것을 확인해야 합니다.

이 말은 무슨 뜻인가요? 여기서 무엇을 하고 계신지 설명해 주실 수 있을까요?

네, 말씀하신 대로입니다. 워드프레스 게시글은 이겁니다: On Sam Laidlow’s IM World Championship Validation Debacle – Slowtwitch Blog

해당 디스코urse 게시글은 이겁니다: On Sam Laidlow’s IM World Championship Validation Debacle - Triathlon Forum - Slowtwitch (northend.network)

댓글 블록 사용과 관련하여, 게시글 안으로 들어가서 "Discourse Comments"라는 이름의 구텐버그 블록을 삽입했는데, comments_template() 호출과 동일한 링크만 출력됩니다.

저도 사용하지 않습니다.

하지만 이 플러그인을 좋아해서 관심을 가지고 지켜보고 있습니다 :+1:

그것들은 새로운 댓글들이고, 제 댓글은 전파되는 데 시간이 좀 걸립니다.

웹훅을 사용하고 있기 때문에 거의 즉시 처리될 거라고 생각했어요. 그런데 가장 오래된 댓글은 15시간이 넘게 지난 것이었습니다.

로스님, 감사합니다. 로그 뷰어(Log Viewer)의 메타 파일을 공유해 주시겠어요?

이 파일은 로그 다운로드에 포함됩니다

서버

WordPress - 6.6.1
PHP - 8.2.9
MySQL - 10.7.8

활성화된 플러그인

Advanced Ads - 1.52.4
Advanced Ads Pro - 2.26.2
Advanced Ads – Tracking - 2.7.1
Advanced Custom Fields PRO - 6.3.4
Duplicator Pro - 4.5.18.1
Font Awesome - 4.5.0
Migrate Guru - 5.65
No Category Base (WPML) - 1.3
Redirection - 5.4.2
SVG Support - 2.5.5
Under Construction - 4.01
W3 Total Cache - 2.7.4
WP-Discourse - 2.5.4
WP Mail SMTP - 4.1.0

WP Discourse 설정 (비밀 정보 제외)

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

아, 문제가 뭔지 알았어요!

먼저 도움을 주셔서 정말 감사합니다. 제가 대신 조사해 주시는 것 같아 죄송합니다. 디스코urses의 구조와 기능을 이해하는 데 시간을 할애했더니 문제가 명확해졌어요…

제 설정에서는 사용자의 신뢰 수준(trust level)이 1 이상이어야 합니다. 현재 모든 사용자의 신뢰 수준이 0으로 설정되어 있습니다. 이 포럼은 35년 된 것으로, 아주 오래된 기술에서 이관해 온 덕분에 대량의 콘텐츠가 이관되고 있지만, 신뢰 수준을 나타내는 정보는 전혀 없습니다. 사용자들의 신뢰 수준을 조정하겠습니다.

사용자가 10만 명을 훨씬 초과하는 상황에서, 이를 일괄적으로 처리할 수 있는 방법이 있을까요?

문제를 해결해서 다행입니다.

네, 방법이 있습니다. 다만 프로그래밍 방식으로 어떻게 할지 고민하기 전에, 먼저 커뮤니티 관리 관점에서 이 문제를 깊이 있게 고려해 보시길 권합니다. 아직 신뢰 수준(Trust Levels)에 대해 자세히 살펴보지 않았다면 아래 링크를 확인해 보세요.

그리고 만약 저라면, 더 높은 신뢰 수준, 즉 3과 4를 부여하고 싶은 사용자 그룹(예: 이전 솔루션에 사용자 그룹화가 있었다면 그걸 참고할 수도 있겠죠)을 몇 개 식별할 것입니다. 이 과정은 대부분 수동으로 진행해야 합니다. 낮은 수준, 즉 1과 2의 경우엔 일괄 처리가 필요합니다. 아마도 이전 포럼의 사용자 메타데이터를 신뢰 수준 휴리스틱(heuristics)에 매핑하거나, 기본적인 규칙을 만들어 적용할 수 있을 것입니다. 코드 자체는 비교적 간단하지만, 10만 명 사용자를 위해 해당 토픽의 코드를 그대로 복사/붙여넣기하는 것은 권장하지 않습니다.

더 넓게 보면, 디스코urses 호스팅 제공업체가 이 마이그레이션을 처리해 주는 것이 최선의 방법일 것입니다. 이들은 이러한 상황을 자주 다루며, 더 정교한 솔루션을 갖추고 있을 가능성이 높기 때문입니다.

감사합니다!

저희는 호스팅 제공자이자 개발자이기도 합니다. Discourse를 처음 접해 보는 것이기 때문입니다.