보드의 ID 별로 게시판 제목을 다르게 하고 싶습니

add_action('kboard_document_insert', 'my_kboard_document_insert', 10, 4);
function my_kboard_document_insert($content_uid, $board_id, $content, $board){
	if($board_id == '35'){ // 실제 게시판 id로 적용해주세요.
$mail->title = $yhlee_title .apply_filters('kboard_latest_alerts_subject', '['.__('KBoard new document', 'kboard').'] '.$board->board_name.' - '.$content->title, $content);
		
}

위의 예처럼 특정 게시판의 메일 제목을 다르게 보내는것 처럼 , 게시글 제목의 내용도 변경 할 수 있나요?

list.php 수정 말고 function에서 수정하는 방법이 있는지 궁금합니다.

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

    질문이 이해가 잘 가지 않습니다.

    KBoard 플러그인에서 게시글 작성 시 이메일을 전송하고 싶으신 건지요?

    게시판별로 실제 게시글 제목과 내용을 비교해서

    메일에는 어떤 식으로 보내지게 하고 싶으신 건지 예를 들어주시면

    도움 드릴 방법을 찾아보겠습니다.

    고맙습니다.

  • 예를 들면

    1번 게시판은 카테고리 이름이 제목 부분에 나오고

    2번은 확장 필드의 체크박스 이름이 나오게 하고 싶은경우를 말하는겁니다.

     

    게시판 ID = 1 제목의 형식은 [프로토] 라는 카테고리 이름과 [완료]라는 셀렉트 박스 이름이 같이

    https://imgur.com/9Y0uU4v

     

    게시판 ID = 2 제목의 형식은 [완료] 라는 셀렉트 박스 이름만 나오게

    https://imgur.com/pz3eNJY

  • 안녕하세요.

    KBoard 플러그인 게시글 목록 페이지에서

    게시글 제목을 편집하고 싶으신 건지요?

    최신 버전의 KBoard 플러그인을 사용 중이시라면 kboard_content_value 필터를 활용하시면

    게시글 제목을 편집하실 수 있습니다.

     

    워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 functions.php 파일 하단에

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

    add_filter('kboard_content_value', 'my_kboard_content_value', 10, 3);
    function my_kboard_content_value($value, $name, $content){
    	$board = $content->getBoard();
    	if($name == 'title'){
    		if($board->id == '1' && $content->category1){
    			$value = "[{$content->category1}] {$value}";
    		}
    		if($board->id == '2' && $content->option->meta_key){
    			$value = "[{$content->option->meta_key}] {$value}";
    		}
    	}
    	return $value;
    }

    위의 코드를 적용하시면

    1번 게시판 게시글 목록 페이지에서

    카테고리1이 있는 게시글은 [카테고리1] 게시글제목 이런 식으로 표시됩니다.

    2번 게시판 게시글 목록 페이지에서는

    필드 메타키가 meta_key인 필드의 값이 있다면

    [필드값] 게시글제목 이런 식으로 표시됩니다.

     

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

     

    KBoard 플러그인의 업데이트 방법은 아래의 링크를 참고해보세요.

    KBoard(케이보드) 플러그인 업데이트 방법

    고맙습니다.

  • 답변으로 잘 고쳐쓰고 있습니다. 

    감사합니다. 

  • 추가 질문이 있습니다.

    카테고리 설정을 해놓고 글을 쓰면 제목에 

    [카테고리명][카테고리명]제목

    https://imgur.com/e1tQjLI

    두번 나옵니다. 

    $value = "[{$content->category1}] {$value}";

    {$value} 에서 [고려아카데미]ㅇㄹㅇㄹㅇㄹ 불러 오고 그 앞에 [고려아케데미] 가 또 불러와서 합쳐지는데.

    [{$content->category1}] 이 부분을 빼버리면 그냥 "ㅇㄹㅇㄹㅇㄹㅇㄹㅇㄹ" 만 나옵니다.

     

    사용한 코드는 아래와 같습니다. 다른 코드는 없습니다.

    add_filter('kboard_content_value', 'my_kboard_content_value', 10, 3);
    function my_kboard_content_value($value, $name, $content){
    	$board = $content->getBoard();
    	if($name == 'title'){
    		if($board->id == '38' && $content->category1){
    			$value = "[{$content->category1}] {$value}";
    		}
    	}
    	return $value;
    }

     

    list.php는 원본 입니다. (변경된 점 없음)

    <div id="kboard-default-list">
    	
    	<!-- 게시판 정보 시작 -->
    	<div class="kboard-list-header">
    		<?php if(!$board->isPrivate()):?>
    			<div class="kboard-total-count">
    				<?php echo __('Total', 'kboard')?> <?php echo number_format($board->getListTotal())?>
    			</div>
    		<?php endif?>
    		
    		<div class="kboard-sort">
    			<form id="kboard-sort-form-<?php echo $board->id?>" method="get" action="<?php echo $url->toString()?>">
    				<?php echo $url->set('pageid', '1')->set('category1', '')->set('category2', '')->set('target', '')->set('keyword', '')->set('mod', 'list')->set('kboard_list_sort_remember', $board->id)->toInput()?>
    				
    				<select name="kboard_list_sort" onchange="jQuery('#kboard-sort-form-<?php echo $board->id?>').submit();">
    					<option value="newest"<?php if($list->getSorting() == 'newest'):?> selected<?php endif?>><?php echo __('Newest', 'kboard')?></option>
    					<option value="best"<?php if($list->getSorting() == 'best'):?> selected<?php endif?>><?php echo __('Best', 'kboard')?></option>
    					<option value="viewed"<?php if($list->getSorting() == 'viewed'):?> selected<?php endif?>><?php echo __('Viewed', 'kboard')?></option>
    					<option value="updated"<?php if($list->getSorting() == 'updated'):?> selected<?php endif?>><?php echo __('Updated', 'kboard')?></option>
    				</select>
    			</form>
    		</div>
    	</div>
    	<!-- 게시판 정보 끝 -->
    	
    	<!-- 카테고리 시작 -->
    	<?php
    	if($board->use_category == 'yes'){
    		if($board->isTreeCategoryActive()){
    			$category_type = 'tree-select';
    		}
    		else{
    			$category_type = 'default';
    		}
    		$category_type = apply_filters('kboard_skin_category_type', $category_type, $board, $boardBuilder);
    		echo $skin->load($board->skin, "list-category-{$category_type}.php", $vars);
    	}
    	?>
    	<!-- 카테고리 끝 -->
    	
    	<!-- 리스트 시작 -->
    	<div class="kboard-list">
    		<table>
    			<thead>
    				<tr>
    					<td class="kboard-list-uid"><?php echo __('Number', 'kboard')?></td>
    					<td class="kboard-list-title"><?php echo __('Title', 'kboard')?></td>
    					<td class="kboard-list-user"><?php echo __('Author', 'kboard')?></td>
    					<td class="kboard-list-date"><?php echo __('Date', 'kboard')?></td>
    					<td class="kboard-list-vote"><?php echo __('Votes', 'kboard')?></td>
    					<td class="kboard-list-view"><?php echo __('Views', 'kboard')?></td>
    				</tr>
    			</thead>
    			<tbody>
    				<?php while($content = $list->hasNextNotice()):?>
    				<tr class="kboard-list-notice<?php if($content->uid == kboard_uid()):?> kboard-list-selected<?php endif?>">
    					<td class="kboard-list-uid"><?php echo __('Notice', 'kboard')?></td>
    					<td class="kboard-list-title">
    						<a href="<?php echo $url->getDocumentURLWithUID($content->uid)?>">
    							<div class="kboard-default-cut-strings">
    								<?php if($content->isNew()):?><span class="kboard-default-new-notify">New</span><?php endif?>
    								<?php if($content->secret):?><img src="<?php echo $skin_path?>/images/icon-lock.png" alt="<?php echo __('Secret', 'kboard')?>"><?php endif?>
    								<?php echo $content->title?>
    								<span class="kboard-comments-count"><?php echo $content->getCommentsCount()?></span>
    							</div>
    						</a>
    						<div class="kboard-mobile-contents">
    							<span class="contents-item kboard-user"><?php echo apply_filters('kboard_user_display', $content->member_display, $content->member_uid, $content->member_display, 'kboard', $boardBuilder)?></span>
    							<span class="contents-separator kboard-date">|</span>
    							<span class="contents-item kboard-date"><?php echo $content->getDate()?></span>
    							<span class="contents-separator kboard-vote">|</span>
    							<span class="contents-item kboard-vote"><?php echo __('Votes', 'kboard')?> <?php echo $content->vote?></span>
    							<span class="contents-separator kboard-view">|</span>
    							<span class="contents-item kboard-view"><?php echo __('Views', 'kboard')?> <?php echo $content->view?></span>
    						</div>
    					</td>
    					<td class="kboard-list-user"><?php echo apply_filters('kboard_user_display', $content->member_display, $content->member_uid, $content->member_display, 'kboard', $boardBuilder)?></td>
    					<td class="kboard-list-date"><?php echo $content->getDate()?></td>
    					<td class="kboard-list-vote"><?php echo $content->vote?></td>
    					<td class="kboard-list-view"><?php echo $content->view?></td>
    				</tr>
    				<?php endwhile?>
    				<?php while($content = $list->hasNext()):?>
    				<tr class="<?php if($content->uid == kboard_uid()):?>kboard-list-selected<?php endif?>">
    					<td class="kboard-list-uid"><?php echo $list->index()?></td>
    					<td class="kboard-list-title">
    						<a href="<?php echo $url->getDocumentURLWithUID($content->uid)?>">
    							<div class="kboard-default-cut-strings">
    								<?php if($content->isNew()):?><span class="kboard-default-new-notify">New</span><?php endif?>
    								<?php if($content->secret):?><img src="<?php echo $skin_path?>/images/icon-lock.png" alt="<?php echo __('Secret', 'kboard')?>"><?php endif?>
    								<?php echo $content->title?>
    								<span class="kboard-comments-count"><?php echo $content->getCommentsCount()?></span>
    							</div>
    						</a>
    						<div class="kboard-mobile-contents">
    							<span class="contents-item kboard-user"><?php echo apply_filters('kboard_user_display', $content->member_display, $content->member_uid, $content->member_display, 'kboard', $boardBuilder)?></span>
    							<span class="contents-separator kboard-date">|</span>
    							<span class="contents-item kboard-date"><?php echo $content->getDate()?></span>
    							<span class="contents-separator kboard-vote">|</span>
    							<span class="contents-item kboard-vote"><?php echo __('Votes', 'kboard')?> <?php echo $content->vote?></span>
    							<span class="contents-separator kboard-view">|</span>
    							<span class="contents-item kboard-view"><?php echo __('Views', 'kboard')?> <?php echo $content->view?></span>
    						</div>
    					</td>
    					<td class="kboard-list-user"><?php echo apply_filters('kboard_user_display', $content->member_display, $content->member_uid, $content->member_display, 'kboard', $boardBuilder)?></td>
    					<td class="kboard-list-date"><?php echo $content->getDate()?></td>
    					<td class="kboard-list-vote"><?php echo $content->vote?></td>
    					<td class="kboard-list-view"><?php echo $content->view?></td>
    				</tr>
    				<?php $boardBuilder->builderReply($content->uid)?>
    				<?php endwhile?>
    			</tbody>
    		</table>
    	</div>
    	<!-- 리스트 끝 -->
    	
    	<!-- 페이징 시작 -->
    	<div class="kboard-pagination">
    		<ul class="kboard-pagination-pages">
    			<?php echo kboard_pagination($list->page, $list->total, $list->rpp)?>
    		</ul>
    	</div>
    	<!-- 페이징 끝 -->
    	
    	<!-- 검색폼 시작 -->
    	<div class="kboard-search">
    		<form id="kboard-search-form-<?php echo $board->id?>" method="get" action="<?php echo $url->toString()?>">
    			<?php echo $url->set('pageid', '1')->set('target', '')->set('keyword', '')->set('mod', 'list')->toInput()?>
    			
    			<select name="target">
    				<option value=""><?php echo __('All', 'kboard')?></option>
    				<option value="title"<?php if(kboard_target() == 'title'):?> selected<?php endif?>><?php echo __('Title', 'kboard')?></option>
    				<option value="content"<?php if(kboard_target() == 'content'):?> selected<?php endif?>><?php echo __('Content', 'kboard')?></option>
    				<option value="member_display"<?php if(kboard_target() == 'member_display'):?> selected<?php endif?>><?php echo __('Author', 'kboard')?></option>
    			</select>
    			<input type="text" name="keyword" value="<?php echo esc_attr(kboard_keyword())?>">
    			<button type="submit" class="kboard-default-button-small"><?php echo __('Search', 'kboard')?></button>
    		</form>
    	</div>
    	<!-- 검색폼 끝 -->
    	
    	<?php if($board->isWriter()):?>
    	<!-- 버튼 시작 -->
    	<div class="kboard-control">
    		<a href="<?php echo $url->getContentEditor()?>" class="kboard-default-button-small"><?php echo __('New', 'kboard')?></a>
    	</div>
    	<!-- 버튼 끝 -->
    	<?php endif?>
    	
    	<?php if($board->contribution()):?>
    	<div class="kboard-default-poweredby">
    		<a href="https://www.cosmosfarm.com/products/kboard" onclick="window.open(this.href);return false;" title="<?php echo __('KBoard is the best community software available for WordPress', 'kboard')?>">Powered by KBoard</a>
    	</div>
    	<?php endif?>
    </div>

     

  • 안녕하세요.

    kboard_content_value 필터는 게시글 등록 시에도 동작하기 때문에

    게시글 본문 페이지나 목록 페이지에서만 적용되게 해주셔야 할 듯합니다.

    추가하신 코드를 아래의 코드로 교체해서 확인해보시겠어요?

    add_filter('kboard_content_value', 'my_kboard_content_value', 10, 3);
    function my_kboard_content_value($value, $name, $content){
    	$board = $content->getBoard();
    	if($name == 'title' && kboard_mod() != 'editor'){
    		if($board->id == '38' && $content->category1){
    			$value = "[{$content->category1}] {$value}";
    		}
    	}
    	return $value;
    }

    고맙습니다.

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