게시판 글등록시 날짜를 바로 집어넣는방법 및 댓글 작성자명, 날짜 변경방법

안녕하세요 케이보드에 더욱더 큰 활성화를 위해 정말 기도하는 사람중한명입니다ㅠㅠ
두가지 질문을 드려용

1.적용은 테마펑션파일에 다음과 같은 방식으로 했습니다. 관리자일경우 12번게시판만 적용되게끔 하려고한것입니다.

add_action('kboard_skin_field_after_title', 'my_kboard_skin_field_after_title', 10 , 3);
function my_kboard_skin_field_after_title($field, $content, $board){
	if($board->id == '12' && $board->isAdmin()){ 
		?>
		<div class="kboard-attr-row">
			<label class="attr-name" for="kboard-input-author"><?php echo __('Author', 'kboard')?></label>
			<div class="attr-value">
				<input type="text" id="kboard-input-author" name="member_display" value="<?php echo $content->member_display?>">
			</div>
		</div>

		<div class="kboard-attr-row">
	    <label class="attr-name">날짜</label>
	    <div class="attr-value"><input type="text" name="date" value="<?php echo $content->date?>"></div>
	</div>
		<?php
	}

게시판에 작성자명은 name값 member_display를 갖는 인풋창을 만드니, 그 인풋창에다 쓴 것이 작성자로 변경이 잘됩니다.
근데 date쪽은 변경이 되질 않네요ㅠㅠ 반드시 글을 쓴뒤에 수정하면 변경이되는데, 아예 글을쓸때 날짜를 지정해주려하면 그 값으로 날짜가 표기되지 않습니다ㅠㅠ

글수정시 날짜변경이 아닌, 글을 쓸떄도 아예 날짜가 변경되려면 어떻게 해야하나요?ㅠ

 

2. 댓글도 마찬가지로, 댓글을 쓸때 작성자명과 날짜를 임의로 지정하고 싶습니다.

add_action('init', 'kboard_comments_field_reshape');
function kboard_comments_field_reshape(){
	if($board->isAdmin()){ 

		remove_action('kboard_comments_field', 'kboard_comments_field', 10, 4);
		add_action('kboard_comments_field', 'my_kboard_comments_field', 10, 4);
	}
}


function my_kboard_comments_field($field_html, $board, $content_uid, $comment_builder){
	?>
	<div class="comments-field">
		<label class="comments-field-label" for="comment_member_display"><?php echo __('Author', 'kboard-comments')?></label>
		<input type="text" id="comment_member_display" name="member_display" value="" placeholder="<?php echo __('Author', 'kboard-comments')?>..." required>
	</div>

	<div class="comments-field">
		<label class="comments-field-label" for="comment_date"><?php echo __('date', 'kboard-comments')?></label>
		<input type="text" id="comment_date" name="date" value="" placeholder="<?php echo __('date', 'kboard-comments')?>..." required>
	</div>
	<?php
}


역시 댓글도 게시판처럼 작성자는 잘 변경이 되는데, 날짜는 작성시 바로 적용이 안됩니다ㅠㅠ
이것저것 삽질해보고있는데ㅠㅠㅠ 스레드봇님 꼭 도와주십쇼ㅠㅠㅠ

게시판이나 댓글이나 작성시에도 바로 날짜를 임의지정해서 넣고 싶슴다ㅠ

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

    KBoard 플러그인에서 작성일을 직접 입력한 값으로 적용하시려면

    올려주신 코드 아래에

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

    add_filter('kboard_insert_data', 'my_kboard_insert_data', 10, 2);
    function my_kboard_insert_data($data, $board_id){
    	if($board_id == '1'){ // 실제 게시판 id로 적용해주세요.
    		$date = isset($_POST['date']) ? sanitize_text_field($_POST['date']) : '';
    		if($date){
    			$data['date'] = $date;
    		}
    	}
    	return $data;
    }
    
    add_action('kboard_comments_insert', 'my_kboard_comments_insert', 10, 3);
    function my_kboard_comments_insert($insert_id, $content_uid, $board){
    	if($board->id == '1'){ // 실제 게시판 id로 적용해주세요.
    		$date = isset($_POST['date']) ? sanitize_text_field($_POST['date']) : '';
    		if($date){
    			$comment = new KBComment();
    			$comment->initWithUID($insert_id);
    			$comment->created = $date;
    			
    			$comment->update();
    		}
    	}
    }

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

    날짜 입력 시에는 20191115120000 이런식으로 년월일시분초 형식으로 입력해보시겠어요?

    고맙습니다.

  • kboard_comments_field_reshape 함수 내에서

    $board->isAdmin() 함수는 정상적으로 동작하지 않습니다.

    아래의 코드로 교체해서도 확인해보시겠어요?

    add_action('init', 'kboard_comments_field_reshape');
    function kboard_comments_field_reshape(){
    	$uid = kboard_uid();
    	if($uid){
    		$content = new KBContent();
    		$content->initWithUID($uid);
    		
    		$board = $content->getBoard();
    		
    		if($board->isAdmin()){
    			remove_action('kboard_comments_field', 'kboard_comments_field', 10, 4);
    			add_action('kboard_comments_field', 'my_kboard_comments_field', 10, 4);
    		}
    	}
    }

    고맙습니다.

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