안녕하세요, kboard recaptcha 기능이 업데이트 되어서 잘 사용 중인데요.
recaptcha 기능 사용시 모든 페이지 헤더에 <script type='text/javascript' src='https://www.google.com/recaptcha/api.js?ver=4.7.2'></script> 라고 스크립트를 로드하고 있는데요.
다른 플러그인에서 recaptcha를 사용하는 경우 api.js파일이 두개 로드되어서 에러가 발생합니다.
kboard 페이지에서만 로드하거나, 아니면 중복되는 페이지에서 해당 스크립트 로드를 제거할 수는 없는지 궁금합니다.
contact form7 플러그인에서 recaptcha 파일을 불러오고 있고, 전체 페이지는 아니고 해당 페이지에만 스크립트 파일을 로드하지만,
kboard 가 리캡챠를 전체 페이지에 불러오고 있어서 충돌이 납니다.
에러 메시지는
Uncaught Error : ReCAPTCHA placeholder element must be empty
입니다.
말씀해 주신 방법 중 두번째 방식, index 파일에서 코드를 지우고 kboardbuilder 파일에 추가하니, 문제가 해결되었습니다.
감사합니다.
/kboard/index.php 파일 보시면 아래 코드가 있습니다.
wp_enqueue_script('recaptcha', 'https://www.google.com/recaptcha/api.js');
다른 플러그인에서 리캡차를 전체 페이지에 불러오고 있다면 KBoard에서 코드를 지워주세요.
혹은 /kboard/index.php 파일 파일에서 코드를 지운 다음
/kboard/class/KBoardBuilder.class.php 파일에
wp_localize_script('kboard-script', 'kbaord_current', array('board_id'=>$this->board_id, 'content_uid'=>$this->uid));
위 코드 아래에 코드를 추가해보세요.
wp_enqueue_script('recaptcha', 'https://www.google.com/recaptcha/api.js');
어떤 플러그인 사용중이신가요?
사이트 주소도 알려주시겠어요?
어떤 오류가 나는지 확인해보고 개선하도록 하겠습니다.