Wordpress와 Discourse 카테고리 동기화

내가 테스트하지 않았다고 말했었지, 그렇지? :sweat_smile: 현재 디버깅에 대해 많이 도와줄 수는 없지만, 해당 문제를 수정하고 두 번째 액션에서 중복된 체크를 제거한 업데이트된 버전을 공유합니다:

add_action( 'create_category', 'discourse_create_category', 10, 1 );
function discourse_create_category( $term_id ) {
	$category = get_term_by( 'id', $term_id, 'category' );
	$name = $category->name;
	$path = '/categories.json';
	// WPDiscourse 플러그인을 사용하여 새 카테고리를 생성합니다
	$utils = new \WPDiscourse\Utilities\PublicPluginUtilities();
	$utils->discourse_request(
		$path,
		[
			'method' => 'POST',
			'name'   => $name,
		]
	);
}

add_action( 'set_object_terms', 'discourse_set_object_terms', 10, 1 );
function discourse_set_object_terms( $object_id ) {
	if ( ! metadata_exists( 'post', $object_id, 'publish_to_discourse' ) ) {
		// 초기 저장 시에만 Discourse 게시를 활성화합니다.
		update_post_meta( $object_id, 'publish_to_discourse', true );
		$discourse_publish_option = get_option( 'discourse_publish' );
		// WP 카테고리를 기반으로 Discourse 카테고리를 설정합니다
		if ( is_array( $discourse_publish_option ) ) {
			$categories_list = wp_get_post_categories( $object_id );
			update_post_meta( $object_id, 'publish_post_category', $categories_list[0]->name );
		}
	}
}

7.4는 EOL(지원 종료)까지 약 3개월밖에 남지 않았으므로, 아직 진행하지 않았다면 호스팅 환경 업그레이드를 계획하기 시작하는 것이 좋습니다 :calendar: