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

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

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