1. 정확한 제품 또는 플러그인 이름
kboard_comment
2. 상세 내용
PC환경처럼 큰 화면에서는 괜찮은데, 모바일 작은화면 환경에서 댓글을 쓸때 자꾸 최상단으로 올라갔다가 anchor로 이동하다보니 화면이 흔들립니다.
그래서 AJAX로 새로고침없이 댓글이 입력되었으면 좋겠습니다. 어찌 접근해야 할까요?
아래와 같이 script를 만들어보긴 했는데, 500에러가 나네요..
3. 수정한 코드 내역 (있다면)
<script>
function submitComment() {
// 현재 선택된 라디오 버튼의 값을 가져옵니다.
var selectedValue = document.querySelector('input[name="comment_content"]:checked').value;
var nonce = document.getElementById('kboard-comments-execute-nonce').value;
var referer = document.querySelector('input[name="_wp_http_referer"]').value;
var data = {
action: 'kboard_comment_insert', // 해당하는 액션 이름 설정
content_uid: '<?php echo $content_uid; ?>', // 서버에서 받은 content UID
comment_content: selectedValue, // 선택된 라디오 버튼의 값
kboard_comments_execute_nonce: nonce, // nonce 값을 포함
_wp_http_referer: referer, // referer 값을 포함
media_group: '<?php echo kboard_media_group(); ?>' // 미디어 그룹 ID
};
// 로그인 상태가 아닐 때 사용자 이름과 비밀번호 필드가 존재하는지 확인
var memberDisplayInput = document.getElementById('comment_member_display_<?php echo $content_uid?>');
var passwordInput = document.getElementById('comment_password_<?php echo $content_uid?>');
if (memberDisplayInput) {
data.member_display = memberDisplayInput.value; // 사용자 이름
}
if (passwordInput) {
data.password = passwordInput.value; // 비밀번호
}
jQuery.ajax({
url: '<?php echo $commentURL->getInsertURL()?>', // 댓글 처리 URL
type: 'POST',
data: data,
success: function(response) {
console.log('Comment added successfully:', response);
// 성공 시 추가적인 UI 업데이트나 페이지 리다이렉트를 할 수 있습니다.
},
error: function(xhr, status, error) {
console.error("Error adding comment:", status, error);
}
});
}
</script>
안녕하세요~^^
참고할만한 코드 중 댓글 좋아요 싫어요 버튼은 Ajax로 구현되어 있습니다.
FTP로 접속해서 /wp-content/plugins/kboard/template/js/script.js 파일에서
좋아요 싫어요 부분을 참고해보시겠어요?
커뮤니티에서 저희가 모든 코드를 만들어 드리는 건 현실적으로 불가능하며
100% 해결을 보장해드리긴 어렵습니다.
그렇기 때문에 수정해야 할 부분이 많거나
코드를 직접 수정하기 어려우시다면
프로젝트 의뢰에 상세 내용을 올려보세요.
https://www.cosmosfarm.com/project
고맙습니다.