워드프레스에서 Kboard - 게시판관리 - 변경사항저장을 누르면 발생하는 에러입니다. 당연 변경사항이 저장도 되질 않습니다.
카페24 를 이용하지 않고 제 컴에서 연습중입니다. 어떤 설정이 문제일까요?
Fatal error: Uncaught TypeError: abs(): Argument #1 ($num) must be of type int|float, string given in C:\xampp\htdocs\wordpress\wp-content\plugins\kboard\class\KBAdminController.class.php:173 Stack trace: #0 C:\xampp\htdocs\wordpress\wp-content\plugins\kboard\class\KBAdminController.class.php(173): abs('') #1 C:\xampp\htdocs\wordpress\wp-includes\class-wp-hook.php(287): KBAdminController->update('') #2 C:\xampp\htdocs\wordpress\wp-includes\class-wp-hook.php(311): WP_Hook->apply_filters('', Array) #3 C:\xampp\htdocs\wordpress\wp-includes\plugin.php(484): WP_Hook->do_action(Array) #4 C:\xampp\htdocs\wordpress\wp-admin\admin-post.php(70): do_action('admin_post_kboa...') #5 {main} thrown in C:\xampp\htdocs\wordpress\wp-content\plugins\kboard\class\KBAdminController.class.php on line 173
이 웹사이트에 치명적인 오류가 있습니다. 지침을 위해 사이트 관리자 이메일의 받은 편지함을 확인
------------------------
게시판도 작성까지는 되는데 목록을 다시 클릭하면
Fatal error: Uncaught TypeError: in_array(): Argument #2 ($haystack) must be of type array, null given in C:\xampp\htdocs\wordpress\wp-content\plugins\kboard\class\KBContent.class.php:617 Stack trace: #0 C:\xampp\htdocs\wordpress\wp-content\plugins\kboard\class\KBContent.class.php(617): in_array('1', NULL) #1 C:\xampp\htdocs\wordpress\wp-content\plugins\kboard\class\KBoardBuilder.class.php(516): KBContent->increaseView() #2 C:\xampp\htdocs\wordpress\wp-content\plugins\kboard\class\KBoardBuilder.class.php(305): KBoardBuilder->builderDocument() #3 C:\xampp\htdocs\wordpress\wp-content\plugins\kboard\index.php(794): KBoardBuilder->create() #4 C:\xampp\htdocs\wordpress\wp-content\plugins\kboard\template\board.php(31): kboard_builder(Array) #5 C:\xampp\htdocs\wordpress\wp-content\plugins\kboard\class\KBTemplate.class.php(55): include_once('C:\\xampp\\htdocs...') #6 C:\xampp\htdocs\wordpress\wp-includes\class-wp-hook.php(287): KBTemplate->board('') #7 C:\xampp\htdocs\wordpress\wp-includes\class-wp-hook.php(311): WP_Hook->apply_filters(NULL, Array) #8 C:\xampp\htdocs\wordpress\wp-includes\plugin.php(484): WP_Hook->do_action(Array) #9 C:\xampp\htdocs\wordpress\wp-includes\template-loader.php(13): do_action('template_redire...') #10 C:\xampp\htdocs\wordpress\wp-blog-header.php(19): require_once('C:\\xampp\\htdocs...') #11 C:\xampp\htdocs\wordpress\index.php(17): require('C:\\xampp\\htdocs...') #12 {main} thrown in C:\xampp\htdocs\wordpress\wp-content\plugins\kboard\class\KBContent.class.php on line 617
이런 에러가 발생합니다. 해당 라인을 보면 공란입니다.
도움 부탁합니다,
저도 이런 오류 겪고 있는데요 아래 코드를 수정한 후 해결되었습니다.
원인은 abs()함수는 절대값으로 변환해주는 함수인데, 변환할려고 하는 대상 값이 string형태라서 발생하는 문제입니다.
string값을 int형으로 변환해준다음 abs() 해주면 오류가 발생하지 않습니다.
173라인의 아래코드들을 다음과 같이 수정하면 됩니다.
[변경전]
$board->meta->document_insert_up_point = isset($_POST['document_insert_up_point']) ? abs($_POST['document_insert_up_point']) : '';
[변경후]
$board->meta->document_insert_up_point = isset($_POST['document_insert_up_point']) ? abs(intval($_POST['document_insert_up_point'])) : '';
안녕하세요~^^
현재 사용 중이신 PHP 버전은 어떻게 되시는지요?
KBoard 플러그인은 현재 PHP 8 버전에서 공식적으로 테스트해보진 못했습니다.
만약, PHP 8 버전을 사용 중이시라면 PHP 8 버전 환경에서 테스트해서 코드를 개선해보겠습니다.
고맙습니다.