프로그램 등록 및 신청

전화로 문의드렸던 사항 남깁니다.

필요한 기능은
시청의 관리자가 취업관련 프로그램을 등록하고 비회원에게 신청받는 기능입니다.
프로그램 등록은 일반 kboard 게시판을 수정하면 예시 사이트처럼 만들 수 있을것 같은데
문제는 개별로 신청이 가능해야 한다는 점입니다.

댓글 기능을 수정하여 사용하면 될것같기도 한데.. 아직 안해봐서 감이 없구요.

관리자가 프로그램별로 신청자 목록을 볼 수 있어야 하고
일반 사용자도 자신이 신청한 프로그램을 확인하고 삭제할 수 있어야 합니다..

처음에는 contact form 스킨을 이용해서 kboard 글 보는 화면에 contact form을 넣어서 해결할까 싶었는데
이렇게 하면 관리자가 볼때 contact form 하나에 모든 신청이 다 몰리게되어서 확인이 힘들것 같더라구요.

혹시 사용할만한 플러그인 또는 최소 수정으로 기능 구현 가능할만한 플러그인 있으면 알려주세요!!!!!!

#참고사이트 - 프로그램 리스트
https://ccei.creativekorea.or.kr/jeonbuk/employ_zone/program_list.do?&sPtime=pre&page=1
https://www.onoffmix.com/prom/exhibition

#참고사이트 - 프로그램 신청
https://www.onoffmix.com/event/186672

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
  • 안녕하세요~^^

    말씀하신 것처럼 2개의 게시판을 활용하는 것도 하나의 방법일 듯합니다.

    1번 게시판을 관리자가 등록하는 게시판으로 생성하고

    2번 게시판을 사용자가 신청하는 게시판으로 생성하는 방법입니다.

    1번 게시판 본문에 2번 게시판의 글쓰기 페이지를 표시하고

    카테고리를 1번 게시판 게시글의 uid로 설정하는 것도 고려해보시겠어요?

    그리고 관리자 페이지에서는 전체 신청 게시글을 확인할 수 있고

    카테고리 기능으로 1번 게시판의 게시글 별로 등록된 신청글을 분류해서 볼 수 있을 듯합니다.

    추후 관련 게시판 스킨을 제작해보겠습니다.

    고맙습니다.

  • 말씀하신대로 1번 게시판 본문(document.php)에 사용자가 신청하는 게시판을 넣어보니

    "이 게시글은 이동되었습니다." 라는 alert이 뜨며 확인을 누르면 뒤로 나가집니다.

    숏코드로 게시판을 삽입하였으며 해당 숏코드를 다른 빈 페이지에 입력시 게시판 잘 나옵니다.

     

    <?php
      echo do_shortcode("[kboard id=11]");
    ?>

     

    도와주세요!!

  • 안녕하세요.

    해당 문구가 표시된다면

    워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에

    아래의 코드를 추가해보시겠어요?

    add_filter('kboard_allowed_board_id', 'test_kboard_allowed_board_id', 10, 2);
    function test_kboard_allowed_board_id($allowed_board_id, $board_id){
    	if($allowed_board_id == '11'){
    		$allowed_board_id = array('11', '1');
    	}
    	return $allowed_board_id;
    }

    위의 코드에서 '1' 부분은 실제 관리자가 게시글을 등록하는 게시판의 id로 적용해보세요.

     

    추가로, KBoard 플러그인은 기본적으로 하나의 페이지에

    하나의 게시판을 사용하도록 되어 있습니다.

    한 페이지에 여러 개의 게시판을 추가해야 할 경우,

    워드프레스 관리자 -> KBoard -> 게시판 목록 -> 게시판 선택 -> 고급설정 페이지에서

    아이프레임으로 보기 기능을 활성화해주세요.

    사용자가 신청하는 게시판 쪽에서 활성화해보시겠어요?

    고맙습니다.

  • 말씀하신 것 모두 적용해보니
    Alert은 더이상 뜨지않으나

    1번 게시판 상세에 2번 게시판 글쓰기 또는 리스트를 표시해야 하는데
    자동적으로 1번 게시판 상세의 2번 게시판도 상세로 보여지네요

    그래서 상세 속 상세가 동일 내용으로 출력됩니다.

    아무래도 프로그램 신청 버튼을 눌러 페이지를 이동하여 신청글 작성하는 방식으로
    커스텀해야할 것 같은데요.

    카테고리를 1번 게시판 게시글의 uid로 설정하는 것도 고려해보시겠어요?

    라고 답변주셨는데

    지금 제 생각에는 주신 답변을 응용하여

    1번게시판 상세에 신청하기 버튼을 누르면 파라미터로 1번 게시판의 게시글 uid를 같이 넘겨서
    2번 게시판 글 작성 페이지로 이동되며,
    글 작성시 2번 게시판의 카테고리를 1번 게시판의 uid로 하려고 합니다.

    그러면 관리자에게는 신청확인 버튼을 주고 1번 게시판의 게시글 uid로
    2번 게시판의 uid 카테고리로 불러와서 보여주면 될것 같거든요..

     

    그러려면 필요한게

    현재 KBOARD는 관리자 페이지에서 카테고리를 설정해주고
    설정된 카테고리를 사용하는 형식이였는데

    2번 게시글을 작성할때 1번 게시글의 uid로 카테고리를 자동적으로 추가할 수 있는 방법이 필요합니다.

     

    ※요약※

    2번 게시글을 작성할때 1번 게시글의 uid로 카테고리를 자동적으로 추가할 수 있는 방법.
    부탁드립니다!!

     

    혹시 더 좋은 방법이나 아이디어 있으시면 알려주세요!!

    감사합니다!!

  • 검색을통해

    카테고리별 개수 구하는 법

    functions.php
    
    function get_kboard_category_count($board_id, $category){
    	global $wpdb;
    	
    	$board_id = intval($board_id);
    	$where[] = "`board_id`='$board_id'";
    	
    	if(isset($category['category1']) && $category['category1']){
    		$category1 = esc_sql($category['category1']);
    		$where[] = "`category1`='{$category1}'";
    	}
    	
    	if(isset($category['category2']) && $category['category2']){
    		$category2 = esc_sql($category['category2']);
    		$where[] = "`category2`='{$category2}'";
    	}
    	
    	return $wpdb->get_var("SELECT COUNT(*) FROM `{$wpdb->prefix}kboard_board_content` WHERE " . implode(' AND ', $where));
    }
    <?php echo get_kboard_category_count(2, array('category1'=>'test'))?>

    카테고리별 게시판 리스트

    <?php echo do_shortcode("[kboard id=11 category1=test]"); ?>

    알아내었습니다.

     

    2번 게시글을 작성할때 1번 게시글의 uid로 카테고리를 자동적으로 추가할 수 있는 방법.

    만 좀 알려주세요!!

    계속해서 검색을 하고 있는데 비슷한게 나오질 않네요 ㅜㅜ

  • 안녕하세요.

    1번 게시판의 게시글 안에 2번 게시판을 추가하고

    2번 게시판의 게시글 작성 시 1번 게시글의 uid를 카테고리로 입력하시려면

    우커머스 상품에 KBoard 게시판 연결하기를 활용하시면 가능할 듯합니다.

     

    document.php 파일에 숏코드를 추가하는 방식이 아닌

    테마 쪽 functions.php 파일에 코드를 추가하는 예제 코드를 작성해봤습니다.

    기존 document.php 파일에 추가하신 숏코드를 지우신 후 진행해보세요.

    워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에

    아래의 코드를 추가해보시겠어요?

    add_filter('kboard_get_template_field_html', 'my_kboard_get_template_field_html', 10, 4);
    function my_kboard_get_template_field_html($field_html, $field, $content, $board){
    	if(kboard_iframe_id() && $field['meta_key'] == 'title' && $board->id == '2'){ // 실제 2번 게시판 id로 적용해주세요.
    		$category1 = $content->category1?$content->category1:kboard_category1();
    		$field_html .= '<input type="hidden" name="category1" value="'.$category1.'">';
    	}
    	return $field_html;
    }
    
    add_filter('kboard_content', 'my_kboard_content', 10, 3);
    function my_kboard_content($content, $content_uid, $board_id){
    	if($board_id == '1'){ // 실제 1번 게시판 id로 적용해주세요.
    		$content_board_id = '2'; // 실제 2번 게시판 id로 적용해주세요.
    		$iframe_id = uniqid();
    		$url = new KBUrl();
    		$_SESSION['kboard_board_id'] = $content_board_id;
    		
    		$content .= '<iframe id="kboard-iframe-' . $iframe_id . '" class="kboard-iframe kboard-iframe-' . $content_board_id . '" src="' . $url->set('kboard_id', $content_board_id)->set('category1', kboard_uid())->set('iframe_id', $iframe_id)->toString() . '" style="width:100%" scrolling="no" frameborder="0"></iframe>';
    	}
    	return $content;
    }

    위의 코드에서 게시판 id는 실제 각 게시판 id로 적용해보시겠어요?

    고맙습니다.

  • 감사합니다. 잘 활용해보겠습니다

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요