좋은 보드를 만들어 주셔서 감사합니다.
버그 제보 드립니다.
글 작성 에디터에서 워드프레스 내장 에디터와, 썸머 노트 에디터 사용시
내용을 필수로 선택 하면 글쓰기시 내용을 입력 하여도 "내용은(는) 필수입니다." 라고 나옵니다.
textarea는 문제 없이 잘 동작 합니다.
그리고 워드프레스 내장 에디터는 내용에서 Placeholder가 원래 동작을 안하는건가요?
textarea, 썸머 노트는 내용의 Placeholder가 잘 동작을 합니다.
항상 감사드립니다.
안녕하세요~^^
저희 쪽 테스트 서버에서 점검해보니
워드프레스 내장 에디터 및 썸머노트 사용 시
게시글 본문 내용이 필수일 경우에도 정상적으로 체크가 되는 것을 확인했습니다.
워드프레스에서 에러 혹은 알 수 없는 문제가 있을 때 대응 방법을 참고하셔서
에러 메시지나 충돌이 있는지 점검해보셔야 할 듯합니다.
placeholder 기능의 경우 에디터에 따라 동작하지 않을 수도 있습니다.
필요한 경우 본문 기본 양식 사용도 고려해보시겠어요?
워드프레스 관리자 -> KBoard -> 게시판 목록 -> 게시판 선택 -> 고급설정 탭에서 설정하실 수 있습니다.
고맙습니다.
워드프레스 설치 하자마자
플러그인 아무것도 없는 기본상태에서
케이보드만 설치후 기본 테마에서 테스트 해보았습니다.
워드프레스 내장 에디터와, 썸머 노트 에디터 선택
입력필드에서 내용을 필수로 선택후
본문 내용에 글 쓰고 저장하기
"내용은(는) 필수입니다." 팝업이 계속 나오네요.
KBoard 버전
현재 설치된 게시판 플러그인 버전은 5.6 입니다.
현재 설치된 댓글 플러그인 버전은 4.7 입니다.
일단 내용 필수 체크 해제 하고 써야 겠네요.
안녕하세요.
KBoard 플러그인 필수 입력필드 유효성 검사하는 자바스크립트 코드를 개선했습니다.
FTP로 접속해서 /wp-content/plugins/kboard/template/js/script.js 파일에
아래의 코드를 찾아서
function kboard_fields_validation(form, callback){
jQuery('.kboard-attr-row.required', form).each(function(index, element){
var required = jQuery(element).find('.required');
if(jQuery(required).length == 1 && jQuery(required).val() == 'default' || !jQuery(required).val()){
alert(kboard_localize_strings.required.replace('%s', jQuery(element).find('.field-name').text()));
callback(required);
return false;
}
else if((jQuery(required).is(':radio') || jQuery(required).is(':checkbox')) && jQuery(element).find('.required:checked').length == 0){
alert(kboard_localize_strings.required.replace('%s', jQuery(element).find('.field-name').text()));
callback(jQuery(required).eq(0));
return false;
}
});
}
아래의 코드로 교체해보세요.
function kboard_fields_validation(form, callback){
jQuery('.kboard-attr-row.required', form).each(function(index, element){
var required;
if(jQuery(element).hasClass('kboard-attr-content')){
if(kboard_current.use_editor == 'yes'){
if(jQuery('#wp-kboard_content-wrap').hasClass('tmce-active')){
jQuery('#kboard_content').val(tinymce.get('kboard_content').getContent());
}
}
required = jQuery('#kboard_content');
}
else{
required = jQuery(element).find('.required');
}
if(jQuery(required).is(':checkbox') || jQuery(required).is(':radio')){
if(jQuery(element).find('.required:checked').length == 0){
alert(kboard_localize_strings.required.replace('%s', jQuery(element).find('.field-name').text()));
callback(jQuery(required).eq(0));
return false;
}
}
else if(jQuery(required).val() == 'default' || !jQuery(required).val()){
alert(kboard_localize_strings.required.replace('%s', jQuery(element).find('.field-name').text()));
callback(required);
return false;
}
});
}
위의 코드 변경 사항은 다음 버전에 적용되어 업데이트될 예정입니다.
다른 방법으로는, 아래 링크 클릭하시면 깃허브 소스코드 저장소로 이동됩니다.
https://github.com/cosmosfarm/KBoard-wordpress-plugin
해당 페이지 보시면 "Clone or download" 버튼이 있습니다.
이 버튼을 누르면 "Download ZIP" 버튼이 보이고 압축파일을 다운로드할 수 있습니다.
PC에 압축파일을 다운로드 한 다음 압축을 해제해보시면 KBoard 게시판과 댓글 모든 플러그인 파일이 있는 것을 확인할 수 있습니다.
kboard 폴더를 FTP로 접속해서 파일을 업로드(덮어쓰기) 해주세요.
※ 파일 업로드(덮어쓰기) 전에 반드시 웹호스팅의 하드와 데이터베이스(DB) 모두 전체 백업해두시길 바랍니다.
깃허브에 올려진 파일은 개발 중인 파일이기 때문에 혹시 문제가 생겼을 때 되돌릴 수 있도록 미리 백업해두세요.
고맙습니다.
알려 주신 코드로 변경하여 잘 적용 하였습니다.
감사합니다!!