워드프레스와 kboard를 이용해서 홈페이지를 제작하고 있는 많은 사람중에 한사람입니다...
글을 저장할때와 지울때
location.href='/insurance/%ec%9e%90%ec%a3%bc%ed%95%98%eb%8a%94-%ec%a7%88%eb%ac%b8/?uid=8&mod=페이지';
잘 아시겠지만 페이지 부분에 document나 list 가 뜨면서 페이지가 올바르게 이동이 되지 않는 현상이 발생하여 문의를 드리게 되었습니다.
※ kboardbuilder.class 에는 손을 대지 않았습니다.
라고 문의를 드렸습니다. 헌데 kboardbuilder.class에 있는 스크립트로 대화상자를 띠우는 구문을 edit.php에 넣고 테스트를 해본결과
잘 되는걸로보면 kboardbuilder.class에 script가 안먹는거 같습니다.. 여러가지 시도도 해보았으니 도통 해결되지 않아 도움을 요청합니다 (__)
※wp_redirect와 header, javascript함수를 밖에 따로 빼서 불러오는 방법을 써봤지만 페이지가 아예 이동이 되지 않네요
javascript의 경우 상위에서 에러가 일어나면 하위 소스들은 실행이 안되는 경우가 있습니다.
아마도 테마나 외부적인 요인으로 인해 javascript 에러가 일어나지 않았을까 추측해 봅니다.
예)
자바스크립트 에러가 일어남 ( 테마나 기타 플러그인 등등 외부적인 요소에 의해)
location.href = 'url';
위와 같은 상황이면 당연히 location.href 가 실행이 안되겠죠.
먼저 location.href가 실행되는 페이지에서 javascript 에러가 있는지를 꼼꼼히 살펴보세요.
질문이 이해가 가질 않습니다.
KBoardBuilder.class.php 파일에서 스크립트 출력을 막은건 아닙니다.
이미 여러줄에서 alert 스크립트를 출력하고 있고 또 스킨 파일은 단순히 include를 통해서 페이지에 출력하고 있습니다.
페이지 이동도 location.href 스크립트를 출력해서 이동하고 있습니다.
페이지 이동 주소가 문제인가요?
$next_page_url = $url->set('uid', $execute_uid)->set('mod', 'document')->toString();
die("<script>location.href='".apply_filters('kboard_after_executing_url', $next_page_url, $execute_uid, $this->board_id)."';</script>");
이 부분입니다.
직접 주소를 입력해주셔도 가능하고 http://www.cosmosfarm.com/products/kboard/hooks 이쪽 페이지를 보시면 kboard_after_executing_url 필터가 있습니다.
필터를 사용해서 주소를 바꿀 수 있습니다 :)