글 작성과 동시에 글 저장 가능한가요?

안녕하세요. 우선 케이보드 잘 만들어주셔서 감사합니다.

 

페이지1 : 버튼(get 방식으로 보냄 : mydata) / 클릭 시 페이지2로 이동

페이지2 : ~~~/?mod=editor&pageid=1&mydata=1

현재 이렇게 사용중입니다.

 

여기서 페이지1의 버튼을 클릭 시 페이지2로 넘어갈 때 글을 insert 먼저 할 수 있나요..?

insert가 바로 일어나서 글 수정 페이지가 보이도록이요

필수항목인 '제목'은 default로 채워넣고, 이 외 다른 항목들은 필수가 아니여서 비어있어도 괜찮습니다.

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

    KBoard 플러그인에서 코드로 게시글을 작성되게 하시려면

    아래 관련 링크를 참고 부탁드립니다.

    https://www.cosmosfarm.com/threads/document/50256

    위 링크에 안내되어 있는 코드는 예제 코드이기 때문에

    $_GET 변수를 활용해서 받아온 값으로 코드를 수정해보시겠어요?

    고맙습니다.

  • 감사합니다.

    알려주신 글 확인하여 페이지2의 editor.php 파일 안에 아래와 같이 짜보았습니다.

    <?php
    
    $cuid = isset($_GET['cuid']) ? sanitize_text_field($_GET['cuid']) : '';
    $document = new KBContent();
    $document->initWithUID($cuid);
    
    $user_id = get_current_user_id();
    $user = get_userdata($user_id);
    
    if($cuid){
    
    global $wpdb;
    $maxuid = $wpdb->get_var("SELECT MAX(uid) FROM `{$wpdb->prefix}kboard_board_content`");
    
    $data = array();
    $data['board_id'] = '2'; 
    $data['parent_uid'] = '';
    $data['member_uid'] = $user_id;
    $data['member_display'] = $user->user_login;
    $data['title'] = $document->option->due_date.'_'.str_pad(intval($maxuid)+1, 5, "0", STR_PAD_LEFT);
    $data['content'] = '';
    $data['date'] = date('YmdHis', current_time('timestamp'));
    $data['update'] = date('YmdHis', current_time('timestamp'));
    $data['view'] = 0;
    $data['comment'] = 0;
    $data['like'] = 0;
    $data['unlike'] = 0;
    $data['vote'] = 0;
    $data['category1'] = $document->category1;
    $data['category2'] = '';
    $data['secret'] = '';
    $data['notice'] = '';
    $data['search'] = '1';
    $data['thumbnail_file'] = '';
    $data['thumbnail_name'] = '';
    $data['status'] = '';
    $data['password'] = '';
    
    $options['kboard_option_set_due_date'] = $document->option->due_date;
    $options['kboard_option_set_select_application'] = $document->title;
    $options['kboard_option_univ_cnt'] = '1';
    $options['kboard_option_major_cnt'] = '1';
    
    $content = new KBContent();
    $content->insertContent($data);
    $content->updateOptions($options);
    
    }
    ?>
    
    
    //이하는 기존 editor 내용

     

    그런데 위와같이 작성한 후 버튼 클릭하여 페이지2로 넘어가고 DB를 확인해보았더니 

    새글이 바로 저장은 되나 글이 2개씩 생성됩니다..

    혹시 저 코드를 작성한 위치가 잘못되었나요...?

    아니면 페이지1의 document.php 에서 버튼 있는 쪽에서 처리를 해주어야 하나요..?

     

  • 안녕하세요.

    코드로 별도로 게시글을 작성하게 한다면

    저장하기 시에도 게시글이 작성됩니다.

    그렇기 때문에 코드로 게시글을 작성한 경우에는

    저장하기 시 게시글 작성이 아닌 업데이트가 되도록 코드를 변경해주셔야 합니다.

    고맙습니다.

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