Jannah 테마 상세 페이지 하단 KBoard 코어 충돌 (치명적인 오류)

1. 정확한 제품 또는 플러그인 이름

KBoard

 

2. 상세 내용

안녕하세요. 워드프레스 Jannah 테마 환경에서 KBoard 게시판(최신 버전 6.7.1)을 사용 중입니다.

특정 게시판(id=8)의 상세 페이지(document.php)에 진입하면, 상단 메뉴와 본문 데이터(가격 등 확장 옵션)까지는 완벽하게 화면에 출력되지만, 본문 바로 아랫부분부터 테마의 하단 푸터 영역까지 넘어가는 과정에서 "이 웹사이트에 치명적인 오류가 있습니다."라는 메시지가 출력되며 사이트가 끊깁니다.

- 스킨 파일(document.php) 내부의 문법 오류는 없는 것으로 확인했습니다.
- KBoard 댓글 플러그인을 '비활성화'해도 증상이 동일합니다.
- KBoard 게시판 플러그인 자체를 '비활성화'하면 에러 문구가 사라지고 테마 하단이 정상 출력됩니다. (즉, 게시판 코어와 테마 하단 영역 간의 충돌로 추정됩니다.)
- SVG 정리 및 플러그인/서버 캐시 삭제도 모두 완료한 상태입니다.

Jannah 테마와 KBoard 최신 버전 간의 주소 파싱이나 푸터 훅 충돌을 우회할 수 있는 팁이나 조치 방법을 알려주시면 감사하겠습니다.

 

3. 확인 가능한 상세 페이지 주소

https://baedalilbo.kr/%ed%8c%9d%eb%8b%88%eb%8b%a4%eb%b2%bc%eb%a3%a9%ec%8b%9c%ec%9e%a5/?mod=document&uid=42

 

4. 수정한 코드 내역 (있다면)

[추가 상세 내역: 스킨 파일 수정 및 테스트 내역]

오류 원인을 찾기 위해 해당 게시판 스킨의 `document.php` 파일을 아래와 같이 점검하고 수정해 보았습니다.

1. 확장 필드(가격, 거래방식 등) 출력 코드 점검
: 본문 상단에 확장 필드 데이터를 불러오는 테이블 구조 코드가 들어가 있으며, 이 부분은 화면에 깨짐 없이 완벽하게 출력됩니다.

2. 하단부 layout 태그 및 if문 닫기 점검
: 기존 스킨 하단에서 혹시 테마의 div 구조를 깨뜨리거나 PHP 문법 에러(if문 닫기 누락 등)를 유발하는 코드가 있는지 확인하고, 하단부를 가장 깔끔한 기본 형태로 정리하여 업로드해 보았습니다.
: 스킨 내부의 HTML/PHP 태그는 완벽하게 매칭되어 닫혀 있는 상태입니다.

3. 순수 원본 스킨 재업로드 테스트
: 혹시 모를 코드 수정 오류를 배제하기 위해, 기존 수정본을 서버에서 완전히 삭제한 뒤, 커스텀이 들어가지 않은 순수 KBoard 원본 스킨의 `document.php` 파일을 다시 올려서 새로고침(캐시 삭제 포함) 테스트를 진행했습니다.

[테스트 결과]
스킨 파일을 수정하거나 아예 순수 원본 파일로 되돌려도, 본문 테이블 아래 영역에서 똑같이 '치명적인 오류'가 발생합니다. 스킨 파일 자체의 문법 오류가 아니라, 상세페이지 템플릿을 화면에 뿌려주는 KBoard 코어 엔진과 Jannah 테마의 하단 훅(Hook) 마찰이 확실해 보입니다.

 

 

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
  • 지속적인 문제 발생 시 확인된 디버그 로그와 함께 코스모스팜 고객지원 게시판에 기술 지원을 요청하는 것이 가장 빠르고 정확한 해결 방법입니다.>>>>>게시판을 못찿아서 여기 남깁니다

    [추가 진행 상황 공유]

    추천해주신 AI 답변을 참고하여 KBoard 게시판 고급설정에서 [아이프레임으로 보기]를 활성화(사용)해 보았습니다.

    그 결과, 레이아웃의 가로폭과 테마 헤더/푸터는 정상적으로 돌아왔으나 다음과 같은 증상이 새로 발생합니다.

    1. 본문 데이터 테이블(가격, 거래방식 등)은 깔끔하게 노출되지만, 그 아래에 첨부된 본문 이미지가 로드되지 않고 엑스박스(또는 미노출) 상태가 됩니다.
    2. 이미지 노출이 끊긴 바로 아랫부분에 여전히 "이 웹사이트에 치명적인 오류가 있습니다."라는 문구와 디버그 링크가 출력됩니다.

    아이프레임 전용 단독 페이지 내부에서도 Jannah 테마의 푸터 관련 템플릿(또는 하단 스크립트 훅)과 KBoard document 출력 로직이 강하게 충돌하여 코드가 중간에 중단(Die)되는 현상 같습니다. 

    이 충돌을 우회하거나 Jannah 테마 푸터 간섭을 막을 수 있는 filter/action 해제 소스코드가 있다면 공유 부탁드립니다. 감사합니다.

     

  • 안녕하세요~^^

    아이프레임으로 보기까지 테스트해주셔서 감사합니다.

    아이프레임 전용 화면에서는 일반 테마의 header.php / footer.php 템플릿을 그대로 불러오는 구조가 아니라, KBoard 전용 출력 페이지에서 게시판을 렌더링한 뒤 마지막에 WordPress의 wp_footer() 훅만 실행됩니다.

    따라서 현재 증상은 Jannah 테마의 footer.php 템플릿 자체 충돌이라기보다는,

    본문 이미지 출력 또는 wp_footer()에 연결된 테마/플러그인 스크립트가 KBoard 상세 화면과 함께 실행되면서 PHP Fatal error가 발생하는 상황일 가능성이 높습니다.

    다만 정확한 원인 확인을 위해 디버그 모드를 활성화해서 실제 PHP 오류 메시지를 확인해주셔야 합니다.

    디버그 모드 활성화 방법은 아래의 링크를 참고해보세요.

    워드프레스 에러 확인하기 - 디버그 모드 활성화 방법

    고맙습니다.

  • 제목: 요청하신 디버그 로그 파일 송부드립니다 (아이프레임 상세화면 오류 건)

    안녕하세요, 답변 주신 대로 디버그 모드를 활성화하여 확인한 에러 로그를 첨부합니다.

    로그를 확인해보니 현재 충돌이 발생하는 지점은 다음과 같습니다.

    [주요 에러 메시지]
    PHP Fatal error: Uncaught Error: Call to undefined method KBContent::getDocumentContent() in /baedaldaily/www/wp-content/plugins/kboard/skin/card-gallery/document.php:52

    현재 장터 게시판에 적용된 card-gallery 스킨의 document.php 52라인에서 존재하지 않는 getDocumentContent() 메서드를 호출하면서 Fatal Error가 발생하고 있는 것으로 확인됩니다.

    이 문제를 해결하기 위해 KBoard 플러그인을 업데이트해야 하는지, 혹은 해당 스킨 파일을 어떻게 수정해야 하는지 조치 방법을 안내해주시면 감사하겠습니다.

    [04-Jun-2026 08:59:19] PHP Notice:  Function _load_textdomain_just_in_time was called <strong>incorrectly</strong>. Translation loading for the <code>ninjafirewall</code> domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the <code>init</code> action or later. Please see <a href="https://developer.wordpress.org/advanced-administration/debug/debug-wordpress/">Debugging in WordPress</a> for more information. (This message was added in version 6.7.0.) in /baedaldaily/www/wp-includes/functions.php on line 6170
    [04-Jun-2026 08:59:19] PHP Deprecated:  str_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /baedaldaily/www/wp-content/plugins/wp-super-cache/wp-cache-phase2.php on line 54
    [04-Jun-2026 08:59:19] PHP Deprecated:  u2flib_server\Error::__construct(): Implicitly marking parameter $previous as nullable is deprecated, the explicit nullable type must be used instead in /baedaldaily/www/wp-content/plugins/two-factor/includes/Yubico/U2F.php on line 504
    [04-Jun-2026 08:59:19] PHP Notice:  Function _load_textdomain_just_in_time was called <strong>incorrectly</strong>. Translation loading for the <code>ninjafirewall</code> domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the <code>init</code> action or later. Please see <a href="https://developer.wordpress.org/advanced-administration/debug/debug-wordpress/">Debugging in WordPress</a> for more information. (This message was added in version 6.7.0.) in /baedaldaily/www/wp-includes/functions.php on line 6170
    [04-Jun-2026 08:59:19] PHP Notice:  Function _load_textdomain_just_in_time was called <strong>incorrectly</strong>. Translation loading for the <code>really-simple-ssl</code> domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the <code>init</code> action or later. Please see <a href="https://developer.wordpress.org/advanced-administration/debug/debug-wordpress/">Debugging in WordPress</a> for more information. (This message was added in version 6.7.0.) in /baedaldaily/www/wp-includes/functions.php on line 6170
    [04-Jun-2026 08:59:19] PHP Deprecated:  u2flib_server\Error::__construct(): Implicitly marking parameter $previous as nullable is deprecated, the explicit nullable type must be used instead in /baedaldaily/www/wp-content/plugins/two-factor/includes/Yubico/U2F.php on line 504
    [04-Jun-2026 08:59:22] PHP Notice:  Function _load_textdomain_just_in_time was called <strong>incorrectly</strong>. Translation loading for the <code>ninjafirewall</code> domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the <code>init</code> action or later. Please see <a href="https://developer.wordpress.org/advanced-administration/debug/debug-wordpress/">Debugging in WordPress</a> for more information. (This message was added in version 6.7.0.) in /baedaldaily/www/wp-includes/functions.php on line 6170
    [04-Jun-2026 08:59:22] PHP Deprecated:  str_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /baedaldaily/www/wp-content/plugins/wp-super-cache/wp-cache-phase2.php on line 54
    [04-Jun-2026 08:59:22] PHP Deprecated:  u2flib_server\Error::__construct(): Implicitly marking parameter $previous as nullable is deprecated, the explicit nullable type must be used instead in /baedaldaily/www/wp-content/plugins/two-factor/includes/Yubico/U2F.php on line 504
    [04-Jun-2026 08:59:22] PHP Fatal error:  Uncaught Error: Call to undefined method KBContent::getDocumentContent() in /baedaldaily/www/wp-content/plugins/kboard/skin/card-gallery/document.php:52
    Stack trace:
    #0 /baedaldaily/www/wp-content/plugins/kboard/class/KBoardSkin.class.php(157): include()
    #1 /baedaldaily/www/wp-content/plugins/kboard/class/KBoardBuilder.class.php(623): KBoardSkin->load('card-gallery', 'document.php', Array)
    #2 /baedaldaily/www/wp-content/plugins/kboard/class/KBoardBuilder.class.php(387): KBoardBuilder->builderDocument()
    #3 /baedaldaily/www/wp-content/plugins/kboard/index.php(825): KBoardBuilder->create()
    #4 /baedaldaily/www/wp-includes/shortcodes.php(434): kboard_builder(Array, '', 'kboard')
    #5 [internal function]: do_shortcode_tag(Array)
    #6 /baedaldaily/www/wp-includes/shortcodes.php(273): preg_replace_callback('/\\[(\\[?)(kboard...', 'do_shortcode_ta...', '[kboard id=8]\n')
    #7 /baedaldaily/www/wp-includes/class-wp-hook.php(341): do_shortcode('[kboard id=8]\n')
    #8 /baedaldaily/www/wp-includes/plugin.php(205): WP_Hook->apply_filters('[kboard id=8]\n', Array)
    #9 /baedaldaily/www/wp-includes/post-template.php(256): apply_filters('the_content', '<!-- wp:shortco...')
    #10 /baedaldaily/www/wp-content/themes/jannah/templates/single-post/content.php(53): the_content()
    #11 /baedaldaily/www/wp-content/themes/jannah/framework/classes/class-tielabs-helper.php(130): include('/baedaldaily/ww...')
    #12 /baedaldaily/www/wp-content/themes/jannah/page.php(34): TIELABS_HELPER::get_template_part('templates/singl...')
    #13 /baedaldaily/www/wp-includes/template-loader.php(132): include('/baedaldaily/ww...')
    #14 /baedaldaily/www/wp-blog-header.php(19): require_once('/baedaldaily/ww...')
    #15 /baedaldaily/www/index.php(17): require('/baedaldaily/ww...')
    #16 {main}
      thrown in /baedaldaily/www/wp-content/plugins/kboard/skin/card-gallery/document.php on line 52
    [04-Jun-2026 08:59:26] PHP Notice:  Function _load_textdomain_just_in_time was called <strong>incorrectly</strong>. Translation loading for the <code>ninjafirewall</code> domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the <code>init</code> action or later. Please see <a href="https://developer.wordpress.org/advanced-administration/debug/debug-wordpress/">Debugging in WordPress</a> for more information. (This message was added in version 6.7.0.) in /baedaldaily/www/wp-includes/functions.php on line 6170
    [04-Jun-2026 08:59:26] PHP Deprecated:  str_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /baedaldaily/www/wp-content/plugins/wp-super-cache/wp-cache-phase2.php on line 54
    [04-Jun-2026 08:59:26] PHP Deprecated:  u2flib_server\Error::__construct(): Implicitly marking parameter $previous as nullable is deprecated, the explicit nullable type must be used instead in /baedaldaily/www/wp-content/plugins/two-factor/includes/Yubico/U2F.php on line 504
    [04-Jun-2026 08:59:26] PHP Fatal error:  Uncaught Error: Call to undefined method KBContent::getDocumentContent() in /baedaldaily/www/wp-content/plugins/kboard/skin/card-gallery/document.php:52
    Stack trace:
    #0 /baedaldaily/www/wp-content/plugins/kboard/class/KBoardSkin.class.php(157): include()
    #1 /baedaldaily/www/wp-content/plugins/kboard/class/KBoardBuilder.class.php(623): KBoardSkin->load('card-gallery', 'document.php', Array)
    #2 /baedaldaily/www/wp-content/plugins/kboard/class/KBoardBuilder.class.php(387): KBoardBuilder->builderDocument()
    #3 /baedaldaily/www/wp-content/plugins/kboard/index.php(825): KBoardBuilder->create()
    #4 /baedaldaily/www/wp-includes/shortcodes.php(434): kboard_builder(Array, '', 'kboard')
    #5 [internal function]: do_shortcode_tag(Array)
    #6 /baedaldaily/www/wp-includes/shortcodes.php(273): preg_replace_callback('/\\[(\\[?)(kboard...', 'do_shortcode_ta...', '[kboard id=8]\n')
    #7 /baedaldaily/www/wp-includes/class-wp-hook.php(341): do_shortcode('[kboard id=8]\n')
    #8 /baedaldaily/www/wp-includes/plugin.php(205): WP_Hook->apply_filters('[kboard id=8]\n', Array)
    #9 /baedaldaily/www/wp-includes/post-template.php(256): apply_filters('the_content', '<!-- wp:shortco...')
    #10 /baedaldaily/www/wp-content/themes/jannah/templates/single-post/content.php(53): the_content()
    #11 /baedaldaily/www/wp-content/themes/jannah/framework/classes/class-tielabs-helper.php(130): include('/baedaldaily/ww...')
    #12 /baedaldaily/www/wp-content/themes/jannah/page.php(34): TIELABS_HELPER::get_template_part('templates/singl...')
    #13 /baedaldaily/www/wp-includes/template-loader.php(132): include('/baedaldaily/ww...')
    #14 /baedaldaily/www/wp-blog-header.php(19): require_once('/baedaldaily/ww...')
    #15 /baedaldaily/www/index.php(17): require('/baedaldaily/ww...')
    #16 {main}
      thrown in /baedaldaily/www/wp-content/plugins/kboard/skin/card-gallery/document.php on line 52
    [04-Jun-2026 08:59:41] PHP Notice:  Function _load_textdomain_just_in_time was called <strong>incorrectly</strong>. Translation loading for the <code>ninjafirewall</code> domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the <code>init</code> action or later. Please see <a href="https://developer.wordpress.org/advanced-administration/debug/debug-wordpress/">Debugging in WordPress</a> for more information. (This message was added in version 6.7.0.) in /baedaldaily/www/wp-includes/functions.php on line 6170
    [04-Jun-2026 08:59:41] PHP Deprecated:  str_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /baedaldaily/www/wp-content/plugins/wp-super-cache/wp-cache-phase2.php on line 54
    [04-Jun-2026 08:59:41] PHP Deprecated:  u2flib_server\Error::__construct(): Implicitly marking parameter $previous as nullable is deprecated, the explicit nullable type must be used instead in /baedaldaily/www/wp-content/plugins/two-factor/includes/Yubico/U2F.php on line 504
    [04-Jun-2026 08:59:41] PHP Fatal error:  Uncaught Error: Call to undefined method KBContent::getDocumentContent() in /baedaldaily/www/wp-content/plugins/kboard/skin/card-gallery/document.php:52
    Stack trace:
    #0 /baedaldaily/www/wp-content/plugins/kboard/class/KBoardSkin.class.php(157): include()
    #1 /baedaldaily/www/wp-content/plugins/kboard/class/KBoardBuilder.class.php(623): KBoardSkin->load('card-gallery', 'document.php', Array)
    #2 /baedaldaily/www/wp-content/plugins/kboard/class/KBoardBuilder.class.php(387): KBoardBuilder->builderDocument()
    #3 /baedaldaily/www/wp-content/plugins/kboard/index.php(825): KBoardBuilder->create()
    #4 /baedaldaily/www/wp-includes/shortcodes.php(434): kboard_builder(Array, '', 'kboard')
    #5 [internal function]: do_shortcode_tag(Array)
    #6 /baedaldaily/www/wp-includes/shortcodes.php(273): preg_replace_callback('/\\[(\\[?)(kboard...', 'do_shortcode_ta...', '[kboard id=8]\n')
    #7 /baedaldaily/www/wp-includes/class-wp-hook.php(341): do_shortcode('[kboard id=8]\n')
    #8 /baedaldaily/www/wp-includes/plugin.php(205): WP_Hook->apply_filters('[kboard id=8]\n', Array)
    #9 /baedaldaily/www/wp-includes/post-template.php(256): apply_filters('the_content', '<!-- wp:shortco...')
    #10 /baedaldaily/www/wp-content/themes/jannah/templates/single-post/content.php(53): the_content()
    #11 /baedaldaily/www/wp-content/themes/jannah/framework/classes/class-tielabs-helper.php(130): include('/baedaldaily/ww...')
    #12 /baedaldaily/www/wp-content/themes/jannah/page.php(34): TIELABS_HELPER::get_template_part('templates/singl...')
    #13 /baedaldaily/www/wp-includes/template-loader.php(132): include('/baedaldaily/ww...')
    #14 /baedaldaily/www/wp-blog-header.php(19): require_once('/baedaldaily/ww...')
    #15 /baedaldaily/www/index.php(17): require('/baedaldaily/ww...')
    #16 {main}
      thrown in /baedaldaily/www/wp-content/plugins/kboard/skin/card-gallery/document.php on line 52
     

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요