게시글 작성후 수정제한 관련

안녕하세요.

게시글 작성이후 3일이 지나면 수정하기 버튼이 안보이도록 할 수 있을까요?

chatgpt를 통해 코드를 받아보았으나 잘 동작하지않는것같아 여쭤봅니다.

 

add_filter('kboard_is_editor', 'kboard_is_editor_disable_edit_after_3_days', 10, 4);
function kboard_is_editor_disable_edit_after_3_days($is_editor, $user_id, $use_prevent_modify_delete, $board){
	if (!$board->isAdmin() && $board->id == '1'){ // 실제 게시판 id로 적용해주세요.
		$publish_date = get_the_time('YmdHis');
		$current_date = date('YmdHis', current_time('timestamp'));
		$three_days_ago = date('YmdHis', strtotime('-3 days', current_time('timestamp')));

		if ($publish_date <= $three_days_ago && !current_user_can('manage_options')){
			$is_editor = false;
		}
	}
	
	return $is_editor;
}

 

코드에 잘못된부분이 있을까요? 그리고 이전에 작성되었던게시물(몇달전)것들도 코드가 적용되게하려면 어떻게해야하나요?

마지막으로 글작성이후 제한될 날짜를 3일이아닌 다른날짜로 설정하려면(하루,이틀,일주일 등) 어떻게해야하는지 알려주시면 감사하겠습니다ㅜ

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

    이전에도 비슷한 문의가 있었는데 

    아래 링크를 확인하시고 코드를 수정해보시겠어요?

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

    고맙습니다.

  • AI에 의해 자동 생성된 답변이에요 😀

    안녕하세요,

    질문하신 내용에 대해 답변드리겠습니다.

    게시글 작성 후 수정 제한을 구현하기 위해 코드를 사용하려고 하셨는데, 제공해주신 코드에는 문제가 없어 보입니다. 그러나 코드가 원하는 대로 작동하지 않는다고 하셨으니, 다른 이유로 인해 동작하지 않을 수도 있습니다.

    1. 게시물 작성 후 3일이 지나면 수정하기 버튼을 숨기는 기능을 구현하려면, 코드에 문제가 있는 것은 아닌지 확인해야 합니다. 게시물의 작성일과 현재 날짜를 비교하여 3일이 지났으면 수정 버튼을 숨기는 로직이 제대로 동작해야 합니다. 코드를 다시 한번 확인하시고, 게시판의 ID도 실제로 사용하는 ID로 변경해보세요.

    2. 이전에 작성된 게시물에도 코드가 적용되게 하려면, 코드를 수정해야 할 수도 있습니다. 현재 코드는 게시판 ID가 '1'인 경우에만 동작하도록 되어 있습니다. 만약 이전에 작성된 게시물의 게시판 ID가 다른 경우에도 적용되길 원한다면, 해당 게시판 ID에 대한 로직도 추가해야 합니다.

    3. 게시글 작성 후 제한될 날짜를 3일이 아닌 다른 날짜로 설정하려면, 코드의 strtotime 함수에 전달되는 '-3 days' 부분을 원하는 날짜로 변경하면 됩니다. 예를 들어, 하루로 설정하고 싶다면 '-1 day'로 변경하면 됩니다. 이렇게 수정하면 원하는 날짜로 제한할 수 있습니다.

    위의 답변을 참고하여 코드를 다시 확인하고 수정해보시고, 여전히 동작하지 않는다면 다른 이유로 인해 문제가 발생한 것일 수 있습니다. 추가적인 도움이 필요하시면 언제든지 물어보세요. 감사합니다.

    ↓ 아래 버튼을 눌러서 피드백해주세요.

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