1. 정확한 제품 또는 플러그인 이름
워드프레스 v6.701
2. 상세 내용
이번에 워드프레스를 새로 사용하게 되었습니다.
두 게시판이 있는데, 여기서 한 게시판에 글을 올리면 나머지 다른 게시판에도 글이 자동으로 올라가게 만들고 싶습니다.
챗GPT에도 물어봤는데 결국 실패했습니다...
3. 확인 가능한 상세 페이지 주소
youngso33.dothome.co.kr
4. 수정한 코드 내역 (있다면)
wp-config.php에는
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
를 추가했고,
function.php에는
<?php
// 부모 테마의 스타일을 로드
function twentytwentyfive_child_enqueue_styles() {
wp_enqueue_style( 'parent-style', get_template_directory_uri() . '/style.css' );
}
add_action( 'wp_enqueue_scripts', 'twentytwentyfive_child_enqueue_styles' );
/**
* KBoard 게시글이 삽입될 때 자동으로 다른 게시판에 복제하는 함수
*
* @param string $content_uid 게시글 고유 ID
* @param int $board_id 게시판 ID
* @param array $content 게시글 내용 데이터
* @param array $board 게시판 정보 데이터
*/
function duplicate_kboard_post_on_insert($content_uid, $board_id, $content, $board) {
// 복제할 게시판 ID 설정
$source_boards = array(10, 9); // 원본 게시판 ID 목록
$target_boards = array(
10 => 9, // 게시판 10에 작성 시 9로 복제
9 => 10 // 게시판 9에 작성 시 10으로 복제
);
// 현재 게시글이 복제할 게시판인지 확인
if (array_key_exists($board_id, $target_boards)) {
$target_board_id = $target_boards[$board_id];
// 이미 복제된 게시글인지 확인 (무한 루프 방지)
$duplicated = get_post_meta($content_uid, 'duplicated_to', true);
if ($duplicated == $target_board_id) {
return; // 이미 복제된 경우 종료
}
// 새 게시글 데이터 준비
$new_post = array(
'post_title' => $content['title'],
'post_content' => $content['content'],
'post_status' => 'publish',
'post_author' => $content['member_id'], // 작성자 ID
'post_type' => 'kboard', // KBoard의 포스트 타입 확인 필요
);
// 새 게시글 삽입
$new_post_id = wp_insert_post($new_post);
if (!is_wp_error($new_post_id)) {
// 새 게시글에 메타 데이터 추가 (대상 게시판 ID 설정)
update_post_meta($new_post_id, 'board_id', $target_board_id);
// 원본 게시글에 메타 데이터 추가하여 복제 여부 표시
update_post_meta($content_uid, 'duplicated_to', $target_board_id);
} else {
error_log("게시글 복제 중 오류 발생: " . $new_post_id->get_error_message());
}
}
}
add_action('kboard_document_insert', 'duplicate_kboard_post_on_insert', 10, 4);
이걸 추가했습니다.
안녕하세요~^^
아래 참고할만한 링크를 남겨드릴테니
한번 참고해보시겠어요?
https://www.cosmosfarm.com/threads/document/35679
수정해야 할 부분이 많거나
코드를 직접 수정하기 어려우시다면
프로젝트 의뢰에 상세 내용을 올려보세요.
https://www.cosmosfarm.com/project
고맙습니다.