Wp-discourse-shortcodes plugin

아직 해결되지 않은 것 같습니다 – [discourse_latest] 자체가 적절한 쇼트코드가 아니었습니다. 어딘가에서 본 것 같았거든요. [discourse_topics source=“latest”]로 변경하니 작동했습니다.

부끄러운 미소
Ray

P.S. 쇼트코드에 표시되는 최신 토픽의 날짜 형식을 변경하는 방법이 있을까요, @simon? 현재는 2020-10-20으로 표시되는데, Oct-20과 같은 형식으로 표시되기를 바랍니다.

1개의 좋아요

쇼트코드 플러그인이 WP Discourse 댓글 옵션 탭에서 설정된 날짜 시간 형식을 사용한다고 거의 확신합니다. 해당 설정 설명의 링크를 클릭하여 날짜 형식화 가능한 옵션들을 확인해 보세요.

그렇게 하니까 해결됐어요, 감사합니다!

레이

1개의 좋아요

기본적으로 또는 숏코드 옵션으로 사용자 이름을 아바타의 타이틀로 추가해 주실 수 있을까요? 그리고 사용자 이름을 제거하는 옵션(display_usernames = "false"?)도 추가해 주시면 좋겠습니다.

그동안 이 기능이 필요하신 분은 wp-discourse-shortcodes-master/lib/discourse-topic-formatter.php 파일로 이동하여 다음 코드를

$avatar_image = '<img class="wpds-latest-avatar" src="' . esc_url_raw( $poster_avatar_url ) . '">';

아래 코드로 교체해 주세요.

$avatar_image = '<img class="wpds-latest-avatar" title="'. esc_html( $poster_username ) . '" src="' . esc_url_raw( $poster_avatar_url ) . '">';

훌륭한 플러그인입니다. 감사합니다!

또한, 카테고리 링크( 자세한 정보 )를 쇼트코드 옵션으로 사용할 수 있도록 하면 유용할 것입니다.

이 플러그인은 아직 유지보수되고 있나요? :smiley:

네, 저희(Communiteq)가 현재 이를 유지보수하고 있습니다.

2개의 좋아요

Discourse의 최신 게시글이 '새로고침’되지 않는 것 같습니다.

제가 뭔가 잘못하고 있는 것 같네요.

[discourse_topics source=“latest”] 이 단축코드를 사용하고 있습니다.

Discourse에서 세 개의 주제를 가져왔지만, 그 이후에는 WordPress 사이트로 잘 가져오는지 확인해 보기 위해 더 많은 주제를 추가했습니다.

하지만 가져오지 않았습니다.

Ajax 이벤트도 시도해 보았지만, 여전히 새 게시글이 가져와지지 않는 것 같습니다 :sweat:

특정 카테고리나 하위 카테고리에서만 주제를 가져올 수 있나요?

이 플러그인을 관리해 주셔서 감사합니다. 워드프레스 메인 사이트에 포럼 활동을 표시하는 데 이 플러그인이 필요합니다.

디스코urs 인스턴스에 많은 토픽이 있지만 [discourse_topics] 쇼트코드는 데이터가 없는 것처럼 빈 값을 반환합니다 - Screenshot - b9160f714e42b2677b01bcf00c041634 - Gyazo

그리고 프론트엔드에서 다음과 같은 오류가 발생합니다: Warning : Invalid argument supplied for foreach() in /home/customer/www/web.com/public_html/wp-content/plugins/wp-discourse-shortcodes-master/lib/discourse-topic-formatter.php on line 94

혹시 도움이 된다면, 제 커뮤니티의 RSS 피드는 정상적으로 작동하며 모든 토픽이 목록에 표시됩니다. 제가 놓치고 있는 부분이 있을까요? 도움이 되면 좋겠습니다 :pray:

수정 및 업데이트: 코드에서 topics 변수에 값이 채워지지 않는 것 같습니다.

Line 94: foreach ( $topics as $topic ) {
.....
}

//Topic variable definition
if ( $use_plugin_formatting ) {
			$topics            = $discourse_topics['topic_list']['topics'];
}

해결했습니다. 개인 게시글을 표시하는 체크박스가 활성화되어 있지 않았어요. 그 외에도 $topics 변수에 대해 null 값 조건을 추가하면 오류를 해결할 수 있습니다. 그렇게 해보니 정상적으로 작동했습니다.

1개의 좋아요

PHP의 foreach가 빈 배열에 대해 경고하지 않는다면 제 삶이 훨씬 더 편할 텐데.
다음 버전에서 이 검사를 추가하겠습니다.

1개의 좋아요

Discourse에서 사용자의 최신 WP 프로필 사진을 업데이트하는 옵션은 무엇인가요?

웹훅을 사용하여 사용자 데이터를 Discourse와 동기화합니다. - 두 사이트 간에 생성하고 작동하지만, Discourse 사용자의 프로필 사진은 업데이트되지 않습니다?

드디어 제 작업 목록의 최상단에 올랐습니다. 내일 이 플러그인을 작업하여 몇 가지 버그를 수정하고 질문에 답변드리겠습니다. 오랜 지연에 대해 죄송합니다.

3개의 좋아요

“Discourse Webhook 활성화” 설정을 구성하셨나요?

플러그인을 철저히 테스트하고 몇 가지 버그를 수정했습니다. 그중 두 개는 쇼트코드 출력을 캐시에 업데이트하지 못하는 문제와 관련이 있었습니다. 또한 readme를 업데이트하고 새 버전을 배포했습니다.

여전히 [discourse_topics] 쇼트코드가 서로 다른 카테고리를 사용할 때 올바르게 작동하지 않는 큰 문제가 하나 남아 있습니다. 이 문제를 수정하려면 상당한 작업이 필요합니다. 다가오는 휴가 직후 이 문제를 가장 먼저 처리하겠습니다.

4개의 좋아요

이 인스턴스에서는 쇼트코드를 하나만 사용 중이라 제가 실제로 문제가 있는 것인지 확실하지 않습니다. 특정 카테고리(단일 상위 카테고리에 속한 카테고리들)의 비공개 주제만 표시하고 싶은데, 단일 상위 카테고리 ID(예: [discourse_topics category="5" ... ])나 각 하위 카테고리 ID(예: [discourse_topics category="6,7,8,9,17" ... ])를 사용해도 결과가 해당 카테고리로 제한되지 않는 것 같습니다(표시되어서는 안 되는 추가적인 비공개 주제가 함께 표시됩니다). 이것이 현재 의도된 동작(곧 해결될 예정인)인지 궁금합니다.

여러 카테고리 ID는 지원되지 않습니다.

실제로 이는 예상하지 못한 동작입니다.

간단한 해결 방법으로는 설정 탭에서 Display Private Topics(비공개 토픽 표시) 체크박스를 해제하는 것입니다. 이는 잘못된 카테고리(들)가 선택되는 문제를 해결하지는 않지만, WordPress에 비공개 토픽이 표시되지 않도록 막아줍니다.

Discourse 쪽 로그를 확인하여 수행 중인 API 호출을 검색해 주시겠습니까? WordPress 쪽에서 페이지를 편집하고 변경할 때 API 호출이 트리거됩니다.

Discourse 로그 어디에서도 API 호출을 찾을 수 없었습니다. :woman_shrugging: 하지만 좋은 소식은 우리가 문제를 해결했을 수 있다는 것입니다.

원래 단축코드는 source="top"와 몇 가지 다른 매개변수를 사용하고 있었습니다. 그래서 제가 단축코드를 서서히 줄여나가며 최종적으로 생략을 통해 기본 설정만 사용하도록 만들었습니다. WP 관리자 설정의 체크박스 문구 때문에 source="latest"만 웹훅을 사용하는 것으로 알고 있었습니다. 하지만 최신 주제에 대한 웹훅을 활성화한 후(추가로 표시하고자 하는 카테고리만 트리거하도록 제한했습니다) 상위 카테고리를 다시 추가하자 단축코드가 카테고리 제한을 준수하기 시작했습니다! :tada: (WP 관리자 페이지를 통해 캐시된 HTML을 지우고 사이트의 다른 캐싱 소스도 확인했음에도 불구하고, 웹훅을 활성화하기 전까지는 source="latest"에서도 카테고리 제한이 준수되지 않았습니다.)

웹훅 + source="latest" 조합으로 원하는 결과를 확인한 후, 소스를 다시 "top"으로 변경하고 원래의 매개변수를 하나씩 다시 추가했습니다. 지금까지는 카테고리 제한을 준수하고 있습니다. 웹훅은 활성화된 상태로 두었습니다.

만약 웹훅이 실제로 도움이 되는 것이라면(그냥 일종의 리셋 역할을 한 것이 아니라 계속 효과가 있다면), WP 관리자 페이지의 문구를 "‘latest’ 주제 목록을 새로고침하려면 Discourse 웹훅을 사용하세요"에서 “[discourse_topics] 목록을 새로고침하려면 Discourse 웹훅을 사용하세요”(또는 주제 목록에서 어떤 소스를 사용하든 상관없이 웹훅이 우리가 찾는 만능 해결책임을 명확히 하는 다른 표현)로 변경하는 것을 제안합니다. :joy:

정말 훌륭한 플러그인입니다. 두 가지 기능 관련 질문이 있습니다:

  1. template="complete"를 사용하는 임베드 스크립트처럼 게시물 내부에 이미지를 표시할 수 있을까요?..

  2. 사용자 이름 대신 실제 이름을 표시할 수 있을까요?

감사합니다.