1. 정확한 제품 또는 플러그인 이름
kboard 게시판
2. 상세 내용
안녕하세요!
게시판 항목을 번호/제목/파일/작성일 로 변경하고 싶어서 검색해서 이렇게 변경까지는 했습니다.
파일 해당 부분에 첨부파일이 있는경우 첨부파일 클립표시를, 없는 경우에는 비워두게 표시하고 싶은데 어떻게 하면 좋을까요?
일단 수정한 부분 복사해서 올립니다.
3. 확인 가능한 상세 페이지 주소
제가 수정한 부분 이미지입니다.
https://imgur.com/a/zBAXyAt
4. 수정한 코드 내역 (있다면)
<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 esc_url($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-attach"><?php echo __('파일', 'kboard')?></td>
<td class="kboard-list-date"><?php echo __('Date', 'kboard')?></td>
</tr>
</thead>
<tbody>
<?php while($content = $list->hasNextNotice()):?>
<tr class="<?php echo esc_attr($content->getClass())?>">
<td class="kboard-list-uid"><?php echo __('Notice', 'kboard')?></td>
<td class="kboard-list-title">
<a href="<?php echo esc_url($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 $content->getUserDisplay()?></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 $content->getUserDisplay()?></td>
<td class="kboard-list-date"><?php echo $content->getDate()?></td>
</tr>
<?php endwhile?>
<?php while($content = $list->hasNextPopular()):?>
<tr class="<?php echo esc_attr($content->getClass())?>">
<td class="kboard-list-uid"><?php echo esc_html($board->getPopularName())?></td>
<td class="kboard-list-title">
<a href="<?php echo esc_url($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 $content->getUserDisplay()?></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 $content->getUserDisplay()?></td>
<td class="kboard-list-date"><?php echo $content->getDate()?></td>
</tr>
<?php endwhile?>
<?php while($content = $list->hasNext()):?>
<tr class="<?php echo esc_attr($content->getClass())?>">
<td class="kboard-list-uid"><?php echo $list->index()?></td>
<td class="kboard-list-title">
<a href="<?php echo esc_url($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 $content->getUserDisplay()?></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 $content->getUserDisplay()?></td>
<td class="kboard-list-date"><?php echo $content->getDate()?></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 esc_url($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 esc_url($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>
AI에 의해 자동 생성된 답변이에요 😀
제공해주신 코드와 질문을 바탕으로 KBoard 게시판에서 첨부파일 유무에 따라 클립 표시를 다르게 하는 방법에 대해 답변드리겠습니다.
**문제점:**
* 현재 코드에서는 첨부파일 유무에 관계없이 동일한 방식으로 표시되고 있습니다.
* 첨부파일이 있는 경우에만 클립 표시를 하고, 없는 경우에는 아무것도 표시하지 않도록 수정해야 합니다.
**해결 방법:**
1. **첨부파일 확인:** `$content->hasAttached()` 함수를 사용하여 첨부파일이 있는지 확인합니다.
2. **조건부 출력:** 첨부파일이 있는 경우에만 클립 이미지 또는 아이콘을 출력하고, 없는 경우에는 빈 문자열을 출력합니다.
**수정 코드:**
```php
hasAttached()): ?>
![]()
```
**설명:**
* `$content->hasAttached()`: 해당 게시글에 첨부파일이 있는지 여부를 반환하는 KBoard 함수입니다.
* `if($content->hasAttached()):`: 첨부파일이 있는 경우에만 아래 코드를 실행합니다.
* `
`: 첨부파일을 나타내는 클립 이미지 또는 아이콘을 출력합니다. `$skin_path`는 현재 스킨의 경로를 나타냅니다. `icon-clip.png`는 클립 이미지 파일명이며, 실제 파일명과 경로에 맞게 수정해야 합니다.
* `endif`: `if` 문의 종료를 나타냅니다.
**적용 방법:**
1. 위 코드를 사용자가 수정한 KBoard 게시판 목록 템플릿 파일 (`kboard-default-list.php` 또는 사용 중인 스킨의 해당 파일)의 `
2. 클립 이미지 파일 (`icon-clip.png`)이 스킨의 `images` 폴더에 있는지 확인하고, 없다면 추가합니다.
3. 게시판을 확인하여 첨부파일 유무에 따라 클립 표시가 올바르게 나타나는지 확인합니다.
**참고:**
* 클립 이미지 대신 폰트 아이콘을 사용할 수도 있습니다. 예를 들어 Font Awesome을 사용하는 경우, 다음과 같이 코드를 수정할 수 있습니다.
```php
hasAttached()): ?>
```
* 위 코드는 Font Awesome이 적용되어 있다고 가정합니다. Font Awesome을 사용하려면 해당 라이브러리를 워드프레스에 추가해야 합니다.
**추가 지원:**
만약 위 방법으로 해결되지 않거나, 다른 문제가 발생하면 언제든지 다시 문의해주세요. 자세한 문제 상황을 알려주시면 더욱 정확한 해결 방법을 제시해 드릴 수 있습니다.
↓ 아래 버튼을 눌러서 피드백해주세요.