KBoard 위젯 플러그인 인기글 문의

KBoard 위젯 플러그인에서요,

추천글은 추천수가 많으면 되는데,

인기글은 어떻게 정해지는 거에여?

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

    워드프레스 필터는 여러 개 사용할 수 있지만

    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){
    	global $wpdb;
    	if($value == '댓글순'){
    		$where .= " AND `date` >= date_add(now(), interval -1 week)";
    	}
    	
    	return $where;
    }

    아래의 코드로 교체해보시겠어요?

    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){
    	global $wpdb;
    	if($value == '댓글순'){
    		$where .= " AND `date` >= date_add(now(), interval -1 week)";
    	}
    	
    	// 추천글
        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;
    }

     

    또는 위의 코드 대신 아래의 코드처럼

    함수명이 겹치지 않게 코드를 작성해주시면 됩니다.

    add_filter('kboard_widget_list_where', 'my_kboard_widget_list_where1', 10, 5);
    function my_kboard_widget_list_where1($where, $value, $limit, $exclude, $with_notice){
    	global $wpdb;
    	if($value == '댓글순'){
    		$where .= " AND `date` >= date_add(now(), interval -1 week)";
    	}
    	
    	return $where;
    }

    기존 코드와 비교해보면 my_kboard_widget_list_where 함수명이

    my_kboard_widget_list_where1 이런 식으로 교체된 것을 확인하실 수 있습니다.

    고맙습니다.

  • 안녕하세요~^^

    인기글은 조회수 수선대로 출력되고 있습니다.

    고맙습니다.

  • 안녕하세요..

    혹시 위젯에. 추천순 , 인기순, 옆에... (1주간의) 댓글 많은 순서로 볼수있는 "댓글순" 탭을 하나 더 생성 할 수 있을까요? 

    토론이 활발한 글을 추려 보는것이 의미가 있어보여서요..

    감사합니다.

  • 안녕하세요.

    KBoard 위젯에서 댓글순 탭을 추가하고 1주간의 댓글 많은 순서로 표시하시려면

    워드프레스 관리자 -> 외모 -> 테마 편집기 페이지에서 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[] = '댓글순';
    	
    	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){
    	global $wpdb;
    	if($value == '댓글순'){
    		$where .= " AND `date` >= date_add(now(), interval -1 week)";
    	}
    	
    	return $where;
    }
    
    add_filter('kboard_widget_list_orderby', 'my_kboard_widget_list_orderby', 10, 5);
    function my_kboard_widget_list_orderby($orderby, $value, $limit, $exclude, $with_notice){
    	if($value == '댓글순'){
    		$orderby = "`comment` DESC";
    	}
    	
    	return $orderby;
    }

    고맙습니다.

  • 댓글순 으로 하는 코드를 적용해보니 잘됩니다. 

    그런데. 제가 최근 여쭤보고 답을 얻은 "추천글과 인기글의 기간을 1주일로 설정" 하는 코드를 같이 사용하면 ,에러(  HTTP ERROR 500 )  가  발생합합니다. 따로 따로 는 두개의 도움말씀 (코드)가 잘 되는데. 같이쓸때 충돌 하는 걸까요??

    아래는 최근 알려주신 위젯 추천글 인기글 의 기간 1주설정  코드입니다.

     

    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;
    }

  • 확인해봤습니다. 잘됩니다!  감사합니다.

이미지 사진은 imgur에 업로드한 뒤 링크 걸어주세요.
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기