워드프레스 컨택트 폼 플러그인 중 하나인 WPForms로 만들어진 문의 양식을 통해 제출된 데이터를 케이보드 게시판에 등록하는 연동 작업을 최근 테스트했습니다. 이 과정에서 다음과 같은 오류가 발생하는 문제를 경험했습니다.
Fatal error: Uncaught Error: Call to a member function get() on null in /home/public_html/wp-content/themes/Avada-Child-Theme/functions.php:28 Stack trace: #0 /home/public_html/wp-includes/class-wp-hook.php(286): wpf_dev_process_complete(Array, Array, Array, 0) #1 /home/public_html/wp-includes/class-wp-hook.php(310): WP_Hook->apply_filters(NULL, Array) #2 /home/public_html/wp-includes/plugin.php(465): WP_Hook->do_action(Array) #3 /home/public_html/wp-content/plugins/wpforms-lite/includes/class-process.php(366): do_action('wpforms_process...', Array, Array, Array, 0) #4 /home/public_html/wp-content/plugins/wpforms-lite/includes/class-process.php(94): WPForms_Process->process(Array) #5 /home/public_html/wp-includes/class-wp-hook.php(286): WPForms_Process->listen(Object(WP)) #6 /home/public_html/wp-includes/class-wp-hook.php(310): WP_Hook->apply_filters(NULL, Array) #7 /home/ in /home/public_html/wp-content/themes/Avada-Child-Theme/functions.php on line 28
워드프레스 WPForms와 케이보드 게시판 연동 오류 시 대처 방법
이 문제의 원인은 WPForms의 버전 때문이었습니다. WPForms Lite 버전을 이용할 경우 위와 같은 오류가 발생했지만, WPForms 유료 버전을 가지고 테스트해보니 문제가 발생하지 않고 원하는 대로 데이터가 케이보드 게시판으로 전달되었습니다.
컨택트 폼에서 Kboard 게시판으로 연동하려는 경우 무료 플러그인인 Contact Form 7을 사용할 수 있습니다.
WPForms 유료 버전은 기능이 우수하고 문의 폼을 만들기에도 매우 편리하지만 가격이 제법 비싼 것이 흠인 것 같습니다. (개인이 구입하기에는 부담이 되네요.)
WPForms Lite 버전을 이용하여 데이터를 DB에 저장하려고 시도할 때 위와 같은 오류가 발생하는 경우, WPForms 대신 무료 플러그인은 Contact Form 7을 가지고 테스트해보시기 바랍니다.
(현재 Contact Form 7은 500만 개 이상의 사이트, WPForms는 200만 개 이상의 사이트에 설치되어 사용되고 있습니다. Avada 같은 일부 테마에서는 Contact 페이지에 Contact Form 7으로 만들어진 문의 폼을 사용합니다.)
개인적으로는 유료 컨택트 폼 플러그인인 Quform이 깔끔하고 군더더기가 없어 선호하는 편입니다. Quform을 이용하는 경우에도 컨택트 폼을 통해 제출된 데이터를 케이보드 게시판에 등록하거나 DB에 입력할 수 있습니다.