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