안녕하세요 글작성해서 db저장되었을시를 판단하고싶습니다

editor.php 구문에서

<div class="right">
                <?php if($board->isWriter()):?>
                <button type="submit" class="kboard-default-button-small"><?php echo __('Save', 'kboard')?></button>
                <?php endif?>
            </div>

입니다 이구문을 save누르면 글이 db로 저장이 되는데요 문제점 체크하고 잘 작성 되서 올라갈때를 알고싶습니다.

그래서 작성이 되서 db에 저장되면 회원 등급을 올리고 싶은데 등급 상승하는 방법은 알고있으나

kborad에서 하는부분을 잘모르겠네요 조언부탁드립니다.ㅠ

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
  • KBaord는 myCRED 플러그인와 연동됩니다.

    글작성, 댓글작성시 포인트를 올릴 수 있으며 해당 포인트로 myCRED 플러그인에서 등급을 조절하시면 되겠습니다.

    https://wordpress.org/plugins/mycred/

     

    직접 체크? 하시려면 아래의 액션에 프로그램을 등록하시면 될 듯합니다.

    kboard_document_insert
    kboard_document_update
    kboard_document_delete

    체크하고 등급을 올리시는 코드는 직접 작성하셔야 하구요.

     

    KBoard 기능 확장에 대해서는 아래 링크를 참고해주세요.

    http://www.cosmosfarm.com/products/kboard/hooks

     

    워드프레스 액션에 프로그램 추가하는 방법은 아래 링크 참고해주세요.

    http://codex.wordpress.org/Function_Reference/add_action

  • kboard_document_insert

    • 게시글 입력 후 새로운 코드를 추가하고 실행하게 합니다.
    • Parameters:
      • $content_uid
      • $board_id

     

    여기서 보면 board_id는 6으로 이용중인데 content_uid는 먼지 모르겠어요 ㅠㅠ

    테마 functions.php에 add_action 을 추가해서 사용하게되면 board_id 6에서 글을 추가하면 그때 추가로 작동하는게 맞는지 궁금합니다.

    add_action('kboard_document_insert', 'kboard_document_insert_test');

    function kboard_document_insert_test( $content_uid,$board_id ) {

     

    }

    이런식으로 사용하면되나요?

  • 예를 들자면 아래와 같습니다.

    add_action('kboard_document_insert', 'kboard_document_insert_test', 10, 2);

    function kboard_document_insert_test($content_uid, $board_id){
         $content = new KBContent();
         $content->initWithUID($content_uid); // 게시글 정보를 초기화 합니다.
         $board = new KBoard($board_id); // 게시판 정보를 초기화 합니다.
    }

    $content_uid와 $board_id 값은 필요한 것만 사용하시면 되구요.

    사용할 필요가 없다면 그냥 무시하시면 되겠습니다.

  • 잘 이해가 되지않아 글을 남깁니다.

    add_action('kboard_document_insert', 'kboard_document_insert_test', 10, 2);

    function kboard_document_insert_test($content_uid, $board_id){

    }

    여기서 제가 안에 코딩을 다짜는건 이해했는데요 kboard_document_insert가 무조건적으로 어떠한 $board_id의 값을 가진 게시판 전부가 db insert 될때 작동하는건가요?

    그래서 insert될때 if문으로 어떠한 게시판 $board_id일때 작동 되게 해야하는지 궁금합니다.

    그리고 6번 $board_id에서 insert 될때를 어떻게 체크하는지 알려주실수 있으신가요?

  • 아래 링크 페이지에서 kboard_document_insert 이걸 찾아보세요. (KBContent.class.php 파일 소스코드 페이지 입니다.)

    https://github.com/cosmosfarm/KBoard-wordpress-plugin/blob/master/plugins/kboard/class/KBContent.class.php

     

    아래와 같은 코드가 있습니다.

    do_action('kboard_document_insert', $this->uid, $this->board_id);

    kboard_document_insert 액션은 게시판에 상관없이, 모든 게시글이 등록될 때 실행됩니다.

     

    모든 게시판에서 동작되기 때문에 $board_id 값을 체크해주셔야 합니다.

    또한 게시글 저장이 완료된 후 실행됩니다.

    게시글이 저장되고 나서 추가적으로 필요한 프로그램을 작성해주시면 됩니다.

     

    add_action('kboard_document_insert', 'kboard_document_insert_test', 10, 2);
    function kboard_document_insert_test($content_uid, $board_id){
         if($board_id == 6){
              // 이렇게 하시면 id 값이 6번인 게시판일 경우에 실행됩니다.
         }
    }

     

    도움이 되었길 바랍니다^^

  • 죄송한데 혹시 제가 글을올리고 kboard_document_insert시 제가 올린글의 제목,내용 등을 받아올수도있나요? 

  • 글 작성시 제목과 내용은 아래 코드를 참고해보세요 ㅎㅎ

    function kboard_document_insert_test($content_uid, $board_id){
         $content = new KBContent();
         $content->initWithUID($content_uid); // 게시글 정보를 초기화 합니다.
         echo $content->title; // 제목 출력
         echo $content->content; // 내용 출력
         exit; // 종료
    }

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기