안녕하세요. 늘 친절한 답변 감사드립니다.
다름이 아니라, 아래 형태가 구현 가능한 것인지 문의드리고자 합니다.
게시글 작성시 필드 A, B, C 가 존재합니다.
필드 A, B, C에 내용을 각각 채우고 글쓰기를 누르면
필드 A만 존재하는 게시글이 하나, 필드 B만 존재하는 게시글이 하나, 필드 C만 존재하는 게시글이 하나가 생성되도록 하고싶습니다.
즉, 각 필드별로 게시글이 하나씩 생성되도록 하고, 필드 A,B,C가 함께 존재하는 게시글은 생성되지 않도록 하고 싶습니다.
또는, 실제 DB에는 필드 A,B,C가 함께 존재하는 형태로 저장되지만 페이지에서는 각 필드별로 게시글이 나눠서 조회되도록 하는 방법이 있을지 궁금합니다.
혹시 해당 형태가 구현이 가능한지 조언주시면 감사하겠습니다.
안녕하세요~^^
말씀하신 것처럼 적용하시려면 게시글 작성 후 실행되는 액션에
별도의 코드를 추가해주셔야 할 듯합니다.
kboard_document_insert 액션은 게시글 입력 후 새로운 코드를 추가하고 실행되게 하실 수 있습니다.
KBoard 플러그인 액션과 필터는 아래의 링크를 참고해보세요.
https://www.cosmosfarm.com/products/kboard/hooks
KBoard 플러그인의 KBContent 클래스에 내장되어 있는
insertContent 함수를 활용하시면 코드로 게시글을 작성하실 수 있습니다.
insertContent 함수 사용법은 저희 커뮤니티에 검색해서 코드 참고해보시겠어요?
https://www.cosmosfarm.com/search?q=insertContent
remove 함수를 활용하시면 코드로 게시글을 삭제하실 수 있습니다.
예제 코드는 아래와 같습니다.
$content_uid = '1'; // 실제 게시글 uid로 적용해주세요.
$content = new KBContent();
$content->initWithUID($content_uid);
if($content->uid){
$content->remove();
}
KBContent 클래스는
FTP로 접속해서 /wp-content/plugins/kboard/class/KBContent.class.php 파일에서 확인해보실 수 있습니다.
고맙습니다.
답변 감사드립니다. 추가적으로 kboard_document_insert 에서 jQuery로 ajax 사용도 가능할까요?
add_action('kboard_document_insert', 'field_kboard_document_insert', 10, 4);
function field_kboard_document_insert($content_uid, $board_id){
if($board_id == '5'){
?>
<script>
jQuery.ajax({
'url': 'http://xxx.xxx.xxx.xxx/field_split?uid=<?php echo $content_uid?>';,
'method': 'GET',
'success': function (resp) {
}
});
</script>
<?php
}
}
위와 같이 적용해 보았는데 작동이 안됩니다.
쿼리 스트링을 활용해서 URL로 게시글 uid를 전송해야 하는 상황이라면
ajax 대신 워드프레스 내장 PHP 함수인 wp_remote_get 함수를 사용하는 게 좋을 듯합니다.
자세한 내용은 아래 링크를 참고 부탁드립니다.
https://developer.wordpress.org/reference/functions/wp_remote_get/
고맙습니다.