게시글에 특정시간 이후 수정 제한 설정

안녕하세요,

kboard 게시판에서 회원들에게 특정한 날짜가 되면 글 작성 및 수정이 불가능하도록 막는 방법도 있을까요?

예를들어, 2020-12-30 23:59 으로 설정해놓으면 그 이전까지는 수정/신규 작성이 가능하지만

위 시간이 지나면 수정, 작성 버튼이 사라지거나, 또는 버튼을 눌러도 alert 메시지만 띄우는 방법이 있는지 여쭤봅니다.

감사합니다.

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
  • 안녕하세요~^^

    시간 설정은 전제 게시판에 적용되는 건지요?

    올려주신 내용만으로는 어떻게 하고 싶으신 건지 이해가 잘 가지 않습니다.

    게시글도 볼 수 없게 하는 건지요?

    좀 더 구체적인 상황을 설명해주시겠어요?

    고맙습니다.

  • 안녕하세요!

    게시판 한 곳([kboard id=4])에만 수정 시간 제한 설정을 하고 싶습니다.

    관리자 - 게시판 설정에서 본인이 작성한 글만 볼 수 있도록 해두어서 1:1게시판 형식이 될 것 같구요,

    제한시간이 지난 후, 본인의 게시글 내용, 첨부파일 내역 등 은 기존과 같이 볼 수 있었으면 합니다. 단지 수정, 삭제를 제한시간에 맞추어 불가능하게 하고 싶습니다!

    설명이 충분했는지 모르겠네요. 감사합니다!

  • 특정 시간 이후로 수정 삭제 버튼을 안 보이게 하시려면

    kboard_is_editor 필터를 활용해보시겠어요?

    아래의 코드를 활용해보세요.

    add_filter('kboard_is_editor', 'kboard_is_editor_20201202', 10, 4);
    function kboard_is_editor_20201202($is_editor, $user_id, $use_prevent_modify_delete, $board){
    	if(!$board->isAdmin() && $board->id == '1'){ // 실제 게시판 id로 적용해주세요.
    		$current_date = date('YmdHis', current_time('timestamp'));
    		$set_date = '20201202120000';
    		
    		if($current_date >= $set_date){
    			$is_editor = false;
    		}
    	}
    	
    	return $is_editor;
    }

    위의 코드에서 $board->id == '1' 부분은 실제 게시판 id로 적용해주세요.

    $set_date = '20201202120000' 부분에는 연월일시분초로 적용해보세요.

    위와 같이 적용하면 2020년 12월 02일 12시 00분 00초가 지나면

    수정 삭제 버튼을 표시하지 않습니다.

     

    테마의 functions.php 파일에 코드를 추가하거나 Code Snippets 플러그인을 사용해서 코드를 추가할 수 있습니다.

    고맙습니다.

  • 답변 감사합니다ㅠ 아주 잘 작동하네요!! 한가지만 더 여쭤봐도 될까요..?

     

    혹시 게시글 리스트에서 글쓰기 버튼도 같은 시간 이후 숨겨지게 가능할까요.?

    시간 이후 작성 금지 기능처럼요.

  • 게시글 목록 페이지에서 글쓰기 버튼도 시간 설정을 하시려면

    kboard_is_writer 필터를 활용해보시겠어요?

    아래의 코드를 활용해보세요.

    add_filter('kboard_is_writer', 'kboard_is_writer_20201204', 10, 2);
    function kboard_is_writer_20201204($is_writer, $board){
    	if(!$board->isAdmin() && $board->id == '1'){ // 실제 게시판 id로 적용해주세요.
    		$current_date = date('YmdHis', current_time('timestamp'));
    		$set_date = '20201202120000';
    		
    		if($current_date >= $set_date){
    			$is_writer = false;
    		}
    	}
    	
    	return $is_writer;
    }

    위의 코드에서 $board->id == '1' 부분은 실제 게시판 id로 적용해주세요.

    $set_date = '20201202120000' 부분에는 연월일시분초로 적용해보세요.

    고맙습니다.

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