추천글, 인기글 위젯에 기간 설정을 할 수 있나요?

현재 KBoard 위젯을 사용하는데 인기글을 하루 주기로 바꾸고 싶습니다.

위젯에 기간을 설정하는걸 예전에 본적이 있었던거 같은데...

다시 찾아보려니 아무리 봐도 안 보이네요... 제가 잘못 봤던 걸까요? 혹시 어디 있는지 알려주실 수 있을까요?

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

    KBoard 위젯 플러그인의 버전이 1.1이라면

    KBoardWidgetList.class.php 파일을 직접 수정하지 않고

    테마 쪽 functions.php 파일에 코드를 추가해보시겠어요?

     

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

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

    add_filter('kboard_widget_list_where', 'my_kboard_widget_list_where', 10, 5);
    function my_kboard_widget_list_where($where, $value, $limit, $exclude, $with_notice){
    	// 추천글
    	if($value == 'vote'){
    		$where .= " AND `date` >= date_add(now(), interval -1 week)";
    	}
    	
    	// 인기글
    	if($value == 'view'){
    		$where .= " AND `date` >= date_add(now(), interval -1 week)";
    	}
    	return $where;
    }

    위의 코드를 적용하시면 KBoard 위젯 플러그인의 추천글, 인기글의 기간을

    1주일로 설정하실 수 있습니다.

    고맙습니다.

  • 저도 이거 궁금한데.

    추가로 기간을 하루 일주 전기간. 이렇게. 탭으로 한번 터치하게 하는법이 궁금합니다. 카테고리 탭처럼요..

    그아래 추천순 조회순 최신순도 탭으로요.

    원 질문자께. 묻어가서 죄송합니다.

    감사합니다.

  • 안녕하세요~^^

    KBoard 게시판 플러그인의 최신글이 아닌

    KBoard 위젯 플러그인에서 기간 설정을 하시려면

    파일을 직접 수정해주셔야 합니다.

    FTP로 접속해서 /wp-content/plugins/kboard-widget/class/KBoardWidgetList.class.php 파일에

    아래의 코드를 찾아서

    elseif($value == 'view'){
    	$where = implode(' AND ', $where);
    	$results = $wpdb->get_results("SELECT `uid` FROM `{$wpdb->prefix}kboard_board_content` WHERE {$where} ORDER BY `view` DESC, `date` DESC LIMIT {$limit}");
    }

    아래의 코드로 교체해보세요.

    elseif($value == 'view'){
    	$where[] = "`date` >= DATE_FORMAT(now() , '%Y%m%d 000000')";
    	$where = implode(' AND ', $where);
    	$results = $wpdb->get_results("SELECT `uid` FROM `{$wpdb->prefix}kboard_board_content` WHERE {$where} ORDER BY `view` DESC, `date` DESC LIMIT {$limit}");
    }

     

    기간을 하루, 일주 전 탭은 현재는 지원하고 있지 않습니다.

    추후 연구 개발하여 KBoard 위젯 플러그인에 기간 설정 기능을 업데이트하도록 하겠습니다.

    고맙습니다.

  • 안녕하세요.

    최신 버전의 KBoard 위젯을 사용 중이시라면

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

    아래의 코드를 추가해보세요.

    add_filter('kboard_widget_tab_list', 'my_kboard_widget_tab_list', 10, 1);
    function my_kboard_widget_tab_list($tab_list){
    	$tab_list[] = '오늘';
    	$tab_list[] = '최근 3일';
    	$tab_list[] = '최근 일주일';
    	
    	return $tab_list;
    }
    
    add_filter('kboard_widget_list_where', 'my_kboard_widget_list_where', 10, 5);
    function my_kboard_widget_list_where($where, $value, $limit, $exclude, $with_notice){
    	if($value == '오늘'){
    		$where .= " AND `date` >= DATE_FORMAT(now() , '%Y%m%d 000000')";
    	}
    	if($value == '최근 3일'){
    		$where .= " AND `date` >= date_add(now(), interval -3 day)";
    		echo $where;
    	}
    	if($value == '최근 일주일'){
    		$where .= " AND `date` >= date_add(now(), interval -1 week)";
    		echo $where;
    	}
    	
    	return $where;
    }

    코드를 추가하신 후에는

    워드프레스 관리자 -> 외모 -> 위젯 -> KBoard 위젯 설정에서

    각 항목을 체크하신 후에 저장하기 버튼을 눌러보세요.

    고맙습니다.

  • 케이보드 위젯 의 인기글, 추천글의 기간설정을 1주일 로 하고 싶습니다. KBoardWidgetList.class.php 파일에서 위의 코드를 찾을수가 없습니다. 업데이트 (1.1버전)이후에 바뀐건지요? 가능한 방법 있을까요?(1주간의 추천글, 1주간의 인기글 이런식으로요..)

    감사합니다.

  • 감사합니다. 잘 됩니다~

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