https://digitalsystem.kr/자료실 에서 download 스킨을 사용중입니다.
워드프레스5.2버전 오늘 업데이트하고 kboard게시판도 5.4.2 로 업데이트 했습니다.
다른 게시판스킨은 정상 동작하는데 자료실로 쓰이는 download 스킨 게시판만 작동이 안됩니다.
마우스를 올려도 링크기능이 안됩니다.
스킨은 다시 받아 download0513으로 올려서 적용하니 오류가 나옵니다.
오류메시지는 다음과 같습니다.
----------------------
워드프레스 KBoard 게시판 플러그인 입니다.
버전 5.4.2 | 코스모스팜 - Cosmosfarm님이 만듬 | 플러그인 사이트 방문
This plugin failed to load properly and is paused during recovery mode.
An error of type E_COMPILE_ERROR was caused in line 43 of the file /digitalsys/www/wp-content/plugins/kboard/skin/download/functions.php. Error message: Cannot redeclare kboard_download_skin_password() (previously declared in /digitalsys/www/wp-content/plugins/kboard/skin/download0513/functions.php:3)
---------------------
호스팅은 카페24에서 받고 있습니다.
관리자님 해결 부탁드립니다. 감사합니다.
안녕하세요~^^
KBoard 플러그인을 최신 버전으로 업데이트 후 게시판 스킨이 정상적으로 동작하지 않는다면,
게시판 스킨도 최신 버전으로 업데이트해보시겠어요?
스킨 업데이트는
워드프레스 관리자 -> 스토어 메뉴에서 설치하기 버튼을 눌러주시면 업데이트가 완료됩니다.
스킨 파일을 복사해서 /wp-content/plugins/kboard/skin 경로에 추가했을 때
Cannot redeclare 에러 메시지가 표시되는 건 함수명 중복 문제로 보입니다.
FTP로 접속해서 /wp-content/plugins/kboard/skin/사용중인스킨/functions.php 파일에
아래의 코드를 찾아서
add_filter('kboard_download_file', 'kboard_download_skin_password', 10, 3);
function kboard_download_skin_password($file_info, $content_uid, $board_id){
$content = new KBContent();
$content->initWithUID($content_uid);
if($content->option->download_skin_password){
$redirect_to = isset($_GET['redirect_to'])?esc_url_raw($_GET['redirect_to']):'';
$password = isset($_POST['download_skin_password'])?$_POST['download_skin_password']:'';
if(!isset($_POST['kboard-download-skin-form-execute-nonce']) || !wp_verify_nonce( $_POST['kboard-download-skin-form-execute-nonce'], 'kboard-download-skin-form-execute')){
$file_info = false;
}
if(!$password){
$file_info = false;
}
if($password != $content->option->download_skin_password){
$file_info = false;
}
if($file_info === false){
if($password){
header('Content-Type: text/html; charset=UTF-8');
die('<script>alert("'.__('※ Your password is incorrect.', 'kboard').'");window.history.go(-1);</script>');
}
else{
header('Content-Type: text/html; charset=UTF-8');
if($redirect_to){
die('<script>alert("보안을 위해서 다운로드 비밀번호를 입력해야 합니다.");window.location.href="'.$redirect_to.'#kboard-document";</script>');
}
else{
die('<script>alert("보안을 위해서 다운로드 비밀번호를 입력해야 합니다.");window.history.go(-1);</script>');
}
}
}
}
return $file_info;
}
아래의 코드로 교체하신 후 확인해보시겠어요?
if(!function_exists('kboard_download_skin_password')){
add_filter('kboard_download_file', 'kboard_download_skin_password', 10, 3);
function kboard_download_skin_password($file_info, $content_uid, $board_id){
$content = new KBContent();
$content->initWithUID($content_uid);
if($content->option->download_skin_password){
$redirect_to = isset($_GET['redirect_to'])?esc_url_raw($_GET['redirect_to']):'';
$password = isset($_POST['download_skin_password'])?$_POST['download_skin_password']:'';
if(!isset($_POST['kboard-download-skin-form-execute-nonce']) || !wp_verify_nonce( $_POST['kboard-download-skin-form-execute-nonce'], 'kboard-download-skin-form-execute')){
$file_info = false;
}
if(!$password){
$file_info = false;
}
if($password != $content->option->download_skin_password){
$file_info = false;
}
if($file_info === false){
if($password){
header('Content-Type: text/html; charset=UTF-8');
die('<script>alert("'.__('※ Your password is incorrect.', 'kboard').'");window.history.go(-1);</script>');
}
else{
header('Content-Type: text/html; charset=UTF-8');
if($redirect_to){
die('<script>alert("보안을 위해서 다운로드 비밀번호를 입력해야 합니다.");window.location.href="'.$redirect_to.'#kboard-document";</script>');
}
else{
die('<script>alert("보안을 위해서 다운로드 비밀번호를 입력해야 합니다.");window.history.go(-1);</script>');
}
}
}
}
return $file_info;
}
}
고맙습니다.
올려주신 페이지 주소로 실제 KBoard 다운로드 스킨이 설치된 페이지를 확인해보니
게시글이 클릭되지 않는 건 다른 플러그인(elegant-elements-fusion-builder) 쪽의 문제인 듯합니다.
해당 플러그인에서 관련 설정이 있는지 확인해보셔야 할 듯합니다.
고맙습니다.
감사합니다.
elegant-elements-fusion-builder 플러그인을 비활성화해서 해결하였습니다.
고맙습니다.