카테고리 출력 문의

안녕하세요,

워드프레스 KBoard 게시판 리스트에 카테고리를 출력하려고 하는데요.

다른 분들이 질문하신 것 참고해도 잘 되지 않아서ㅠㅜ 글 남깁니다 ^^

 

사진처럼 번호 다음에 카테고리 부분을 넣고 싶은데요,

카테고리를 사용하고 있는 게시판도 있고 사용하지 않는 게시판도 있어서

카테고리 사용을 활성화 하는 경우에만 출력이 되게 하고 싶습니다.

 

list.php 파일에서


        
            
                
                      ★★★....
                
            

 

위의 별 부분과,

            


                      ★★★....
            
        

 

 

 

위의 별 부분. 두군데에 뭔가를 적어야 하는 것 같은데.. 맞나요?

작성하는 것 도와주시면 감사하겠습니다 ㅠㅠ

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
  • list.php 파일에 보시면 카테고리 코드가 있어서 응용하시면 됩니다^^

    대략 만들어 드리자면

     

    리스트 thead 부분에는 아래처럼.

    <thead>
        <tr>
            <td class="kboard-list-uid"><?php echo __('Number', 'kboard')?></td>
            <?php if($board->use_category == 'yes'):?>
                <?php if($board->initCategory1()):?>
                    <td class="kboard-list-category1">카테고리1</td>
                <?php endif?>
                <?php if($board->initCategory2()):?>
                    <td class="kboard-list-category2">카테고리2</td>
                <?php endif?>
            <?php endif?>

            <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-view"><?php echo __('Views', 'kboard')?></td>
        </tr>
    </thead>

     

    리스트의 tbody 부분에는 아래처럼 해보세요.

    <td class="kboard-list-uid"><?php echo $list->index()?></td>
    <?php if($board->use_category == 'yes'):?>
        <?php if($board->initCategory1()):?>
            <td class="kboard-list-category1"><?php echo $content->category1?></td>
        <?php endif?>
        <?php if($board->initCategory2()):?>
            <td class="kboard-list-category2"><?php echo $content->category2?></td>
        <?php endif?>
    <?php endif?>

    <td class="kboard-list-title">

  • 아래처럼 변경해서 테스트 해보시겠어요?

    <form id="kboard-category-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')->toInput()?>
                
                <?php if($board->use_category == 'yes'):?>
                <div class="kboard-category">
                    <?php if($board->initCategory1()):?>
                        <select name="category1" onchange="jQuery('#kboard-category-form-<?php echo $board->id?>').submit();">
                            <option value=""><?php echo __('All', 'kboard')?></option>
                            <?php while($board->hasNextCategory()):?>
                            <option value="<?php echo $board->currentCategory()?>"<?php if($_GET['category1'] == $board->currentCategory()):?> selected="selected"<?php endif?>><?php echo $board->currentCategory()?></option>
                            <?php endwhile?>
                        </select>
                    <?php endif?>
                    
                    <?php if($board->initCategory2()):?>
                        <select name="category2" onchange="jQuery('#kboard-category-form-<?php echo $board->id?>').submit();">
                            <option value=""><?php echo __('All', 'kboard')?></option>
                            <?php while($board->hasNextCategory()):?>
                            <option value="<?php echo $board->currentCategory()?>"<?php if($_GET['category2'] == $board->currentCategory()):?> selected="selected"<?php endif?>><?php echo $board->currentCategory()?></option>
                            <?php endwhile?>
                        </select>
                    <?php endif?>
                </div>
    <?php endif?></form>

  • 안녕하세요, 제가 답변이 좀 늦었네요.

    알려주신대로 수정을 했는데 아직 작동이 안되네요.

    아래에 url과 함께 내용 올려드립니다^^

    http://www.joobong.com/cs-center/11-qa/

     

     

    <div id="kboard-joobong_default-list">


        <!-- 리스트 시작 -->

        <div class="kboard-total-page">
            <table>
    <?php echo __('Total ')?>
    <?php
    global $wpdb;
    echo $wpdb->get_var("SELECT COUNT(*) FROM `{$wpdb->prefix}kboard_board_content` WHERE `board_id`='{$board->id}'");
    ?>
    <?php echo __('.')?>
            </table>
        </div>

     

                <form id="kboard-category-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')->toInput()?>

                
                <?php if($board->use_category == 'yes'):?>
                <div class="kboard-category">
                    <?php if($board->initCategory1()):?>
                        <select name="category1" onchange="jQuery('#kboard-search-form').submit();">
                            <option value=""><?php echo __('All', 'kboard')?></option>
                            <?php while($board->hasNextCategory()):?>
                            <option value="<?php echo $board->currentCategory()?>"<?php if($_GET['category1'] == $board->currentCategory()):?> selected="selected"<?php endif?>><?php echo $board->currentCategory()?></option>
                            <?php endwhile?>
                        </select>
                    <?php endif?>
                    
                    <?php if($board->initCategory2()):?>
                        <select name="category2" onchange="jQuery('#kboard-search-form').submit();">
                            <option value=""><?php echo __('All', 'kboard')?></option>
                            <?php while($board->hasNextCategory()):?>
                            <option value="<?php echo $board->currentCategory()?>"<?php if($_GET['category2'] == $board->currentCategory()):?> selected="selected"<?php endif?>><?php echo $board->currentCategory()?></option>
                            <?php endwhile?>
                        </select>
                    <?php endif?>
                </div>
                <?php endif?></form>

     

        <div class="kboard-list">
            <table>
                <thead>
                    <tr>
                        <td class="kboard-list-uid"><?php echo __('Number', 'kboard')?></td>
                                                <?php if($board->use_category == 'yes'):?>
                                                    <?php if($board->initCategory1()):?>
                                                        <td class="kboard-list-category1">카테고리</td>
                                                    <?php endif?>
                                                    <?php if($board->initCategory2()):?>
                                                        <td class="kboard-list-category2">카테고리2</td>
                                                    <?php endif?>
                                                <?php endif?>
                        <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-view"><?php echo __('Views', 'kboard')?></td>
                    </tr>
                </thead>
                <tbody>
                    <?php while($content = $list->hasNextNotice()):?>
                    <tr class="kboard-list-notice">
                        <td class="kboard-list-uid"><?php echo __('Notice', 'kboard')?></td>

    <?php if($board->use_category == 'yes'):?>
        <?php if($board->initCategory1()):?>
            <td class="kboard-list-category1"><?php echo $content->category1?></td>
        <?php endif?>
        <?php if($board->initCategory2()):?>
            <td class="kboard-list-category2"><?php echo $content->category2?></td>
        <?php endif?>
    <?php endif?>


                        <td class="kboard-list-title">
                            <a href="<?php echo $url->set('uid', $content->uid)->set('mod', 'document')->toString()?>">
                                <div class="kboard-joobong_default-cut-strings">
                        <?php echo $content->title?>
                                    <?php echo $content->getCommentsCount()?>
                                    <?php if($content->secret):?><img src="<?php echo $skin_path?>/images/icon-lock.png" alt="<?php echo __('Secret', 'kboard')?>"><?php endif?>
                                    <?php if($content->isNew()):?><span class="kboard-joobong_default-new-notify">New</span><?php endif?>
                                </div>
                                <div class="kboard-mobile-contents">
                                    <span class="contents-item"><img src="<?php echo $skin_path?>/images/icon-user.png" alt="<?php echo __('Author', 'kboard')?>"> <?php echo $content->member_display?></span>
                                    <span class="contents-item"><img src="<?php echo $skin_path?>/images/icon-date.png" alt="<?php echo __('Date', 'kboard')?>"> <?php echo date("Y.m.d", strtotime($content->date))?></span>
                                    <span class="contents-item"><img src="<?php echo $skin_path?>/images/icon-view.png" alt="<?php echo __('Views', 'kboard')?>"> <?php echo $content->view?></span>
                                </div>
                            </a>
                        </td>
                        <td class="kboard-list-user"><?php echo $content->member_display?></td>
                        <td class="kboard-list-date"><?php echo date("Y.m.d", strtotime($content->date))?></td>
                        <td class="kboard-list-view"><?php echo $content->view?></td>
                    </tr>
                    <?php endwhile?>
                    <?php while($content = $list->hasNext()):?>
                    <tr>
                        <td class="kboard-list-uid"><?php echo $list->index()?></td>
                                                    <?php if($board->use_category == 'yes'):?>
                                                        <?php if($board->initCategory1()):?>
                                                            <td class="kboard-list-category1"><?php echo $content->category1?></td>
                                                        <?php endif?>
                                                        <?php if($board->initCategory2()):?>
                                                            <td class="kboard-list-category2"><?php echo $content->category2?></td>
                                                        <?php endif?>
                                                    <?php endif?>
                        <td class="kboard-list-title">
                            <a href="<?php echo $url->set('uid', $content->uid)->set('mod', 'document')->toString()?>">
                                <div class="kboard-joobong_default-cut-strings">
                                    <?php echo $content->title?>
                                    <?php echo $content->getCommentsCount()?>
                                    <?php if($content->secret):?><img src="<?php echo $skin_path?>/images/icon-lock.png" alt="<?php echo __('Secret', 'kboard')?>"><?php endif?>
                                    <?php if($content->isNew()):?><span class="kboard-joobong_default-new-notify">New</span><?php endif?>
                                </div>
                                <div class="kboard-mobile-contents">
                                    <span class="contents-item"><img src="<?php echo $skin_path?>/images/icon-user.png" alt="<?php echo __('Author', 'kboard')?>"> <?php echo $content->member_display?></span>
                                    <span class="contents-item"><img src="<?php echo $skin_path?>/images/icon-date.png" alt="<?php echo __('Date', 'kboard')?>"> <?php echo date("Y.m.d", strtotime($content->date))?></span>
                                    <span class="contents-item"><img src="<?php echo $skin_path?>/images/icon-view.png" alt="<?php echo __('Views', 'kboard')?>"> <?php echo $content->view?></span>
                                </div>
                            </a>
                        </td>
                        <td class="kboard-list-user"><?php echo $content->member_display?></td>
                        <td class="kboard-list-date"><?php echo date("Y.m.d", strtotime($content->date))?></td>
                        <td class="kboard-list-view"><?php echo $content->view?></td>
                    </tr>
                    <?php $boardBuilder->builderReply($content->uid)?>
                    <?php endwhile?>
                </tbody>
            </table>
        </div>
        <!-- 리스트 끝 -->


        <?php if($board->isWriter()):?>
        <!-- 버튼 시작 -->
        <div class="kboard-control">
            <a href="<?php echo $url->set('mod', 'editor')->toString()?>" class="kboard-joobong_default-button-small"><?php echo __('New', 'kboard')?></a>
        </div>
        <!-- 버튼 끝 -->
        <?php endif?>

        
        <!-- 페이징 시작 -->
        <div class="kboard-pagination">
            <ul class="kboard-pagination-pages">
                <?php echo kboard_pagination($list->page, $list->total, $list->rpp)?>
            </ul>
        </div>
        <!-- 페이징 끝 -->

     

        <!-- 검색폼 시작 -->
        <div class="kboard-header">
            <form id="kboard-search-form" method="get" action="<?php echo $url->toString()?>">

                
                <div class="kboard-search">
                    <select name="target">
                        <option value=""><?php echo __('All', 'kboard')?></option>
                        <option value="title"<?php if($_GET['target'] == 'title'):?> selected="selected"<?php endif?>><?php echo __('Title', 'kboard')?></option>
                        <option value="content"<?php if($_GET['target'] == 'content'):?> selected="selected"<?php endif?>><?php echo __('Content', 'kboard')?></option>
                        <option value="member_display"<?php if($_GET['target'] == 'member_display'):?> selected="selected"<?php endif?>><?php echo __('Author', 'kboard')?></option>
                    </select>
                    <input type="text" name="keyword" value="<?php echo $_GET['keyword']?>">
                    <button type="submit" class="kboard-joobong_default-button-small"><?php echo __('Search', 'kboard')?></button>
                </div>
            </form>
        </div>
        <!-- 검색폼 끝 -->

        
        <div class="kboard-joobong_default-poweredby">
            <a href="http://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')?>"></a>
        </div>
    </div>

  • 소스보기 해서 확인해보니 오류가 있습니다.

    아래 굵게 표시된 코드가 있으면 안됩니다.

    스킨의 list.php 파일을 에디터로 열어서 확인해주세요.

    <form id="kboard-search-form" action="<input type="hidden" name="mod" value="list"><input type="hidden" name="paged" value="1">            

     

    아래 처럼 해주셔야 합니다.

    <form id="kboard-category-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')->toInput()?>

     

    list.php 파일 내용을 올려주시면 어떻게 된건지 확인해보겠습니다.

  • 아직 오류가 나네요 ㅠㅠ

     

    URL을 보면~

    http://www.joobong.com/new-products/?category1=JOOBONG

    이라고 주소가 되어야 정상인데 아래 주소로 됩니다.

    http://www.joobong.com/new-products/%3Cinput%20type=?paged=1&category1=JOOBONG

     

    (계속 도와주셔서 감사합니다♥)

  • 아래처럼 form에 id값을 추가해주셔야 정상적으로 jQuery('#kboard-search-form').submit() 이 코드가 실행됩니다.

    <form id="kboard-search-form" action="<?php echo $url->set('category1', '')->set('category2', '')->set('paged', '1')->set('target', '')->set('keyword', '')->set('mod', 'list')->toInput()?>

    코드 추가해서 테스트 해보시겠어요?

  • <form action=" 부분이 보이는데.. 이게 <form>과는 다른 건가요?

    그리고 닫힌 부분도 뒷부분에 </form> 으로 잘 닫혀진 것 같아서요.

    혹시 몰라서 <form action=" 앞에 <form> 을 붙여봤는데도 똑같습니다.

     

    아래 한번 확인해주시겠어요?ㅠㅜ

     

        <!-- 리스트 시작 -->

        <div class="kboard-total-page">
            <table>
    <?php echo __('Total ')?>
    <?php
    global $wpdb;
    echo $wpdb->get_var("SELECT COUNT(*) FROM `{$wpdb->prefix}kboard_board_content` WHERE `board_id`='{$board->id}'");
    ?>
    <?php echo __('.')?>
            </table>
        </div>

     

                <form action="<?php echo $url->set('category1', '')->set('category2', '')->set('paged', '1')->set('target', '')->set('keyword', '')->set('mod', 'list')->toInput()?>
                
                <?php if($board->use_category == 'yes'):?>
                <div class="kboard-category">
                    <?php if($board->initCategory1()):?>
                        <select name="category1" onchange="jQuery('#kboard-search-form').submit();">
                            <option value=""><?php echo __('All', 'kboard')?></option>
                            <?php while($board->hasNextCategory()):?>
                            <option value="<?php echo $board->currentCategory()?>"<?php if($_GET['category1'] == $board->currentCategory()):?> selected="selected"<?php endif?>><?php echo $board->currentCategory()?></option>
                            <?php endwhile?>
                        </select>
                    <?php endif?>
                    
                    <?php if($board->initCategory2()):?>
                        <select name="category2" onchange="jQuery('#kboard-search-form').submit();">
                            <option value=""><?php echo __('All', 'kboard')?></option>
                            <?php while($board->hasNextCategory()):?>
                            <option value="<?php echo $board->currentCategory()?>"<?php if($_GET['category2'] == $board->currentCategory()):?> selected="selected"<?php endif?>><?php echo $board->currentCategory()?></option>
                            <?php endwhile?>
                        </select>
                    <?php endif?>
                </div>
                <?php endif?></form>

  • http://www.joobong.com/new-products/ 페이지에서

    카테고리를 감싼 <form></form> 테그가 보이지 않는군요.

    form이 없기 때문에 브라우저 주소창에 보시면 category1 등의 파라메터가 붙지 않고 있습니다.

     

    아래 주소로 접속하면 카테고리가 필터되는걸 보실 수 있습니다.

    http://www.joobong.com/new-products/?category1=JOOBONG

  • 그런데 리스트에서 보고 싶은 카테고리를 선택해도 필터되지 않고 전체가 출력됩니다.

    확인 부탁드립니다 ㅠㅠ

     

    http://www.joobong.com/new-products/

  • CSS 적용이 잘 안되시면 그냥 태그에 스타일 속성을 줘보세요^^

    예를들면 아래처럼 그냥 직접적으로 적용해주세요.

    <td class="kboard-list-category1" style="color:red"><?php echo $content->category1?></td>

  • 자세한 답변 감사합니다. 덕분에 한번에 해결되었습니다!!! ^^

    카테고리 텝 수정 관련하여 질문이 더 있는데요,

     

    thead의 '카테고리' 는 그대로 두고, tbody의 카테고리 항목 ( '제품', 'AS', '기타' 등)이 들어가는 부분만 글자 색상을 변경하고 싶습니다.

    #kboard-joobong_default-list .kboard-list td.kboard-list-category1 {

    등등 시도해봤는데 묶여있는지 tbody의 카테고리 부분만은 수정이 어렵네요. 어떻게 작성하면 될까요?ㅠㅜ

  • 제대로 잘 작동하네요! 정말 감사드립니다 ㅠㅠ

    제가 몇번이나 귀찮게 해드렸는지 모르겠네요..ㅎㅎ

    잘못 작성된 부분 잘 참고하겠습니다. 정말 감사드립니다.

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