리스트를 셀렉트 박스를 이용해서 랜덤으로 정렬 하는 방법이 없을까요?

1. 정확한 제품 또는 플러그인 이름

KBoard 게시판 6.1 

 

2. 상세 내용

 

게시판의 리스트를 랜덤으로 정렬하는 기능을 추가 하고 싶은데요

 

검색하면 필터로 최신글 정렬 대신 랜덤 정렬이 기본으로 나오게 하는건 있는데 

 

저는 그냥 최신글 순이 기본으로 나왔다가 사용자가 원하면 셀렉트박스에서 랜덤 정렬 선택해서 랜덤으로 나오게 하는걸 해보고 싶거든요

 

그래서 셀렉트박스를 이용해서 랜덤 정렬 하는걸 만들려고 했는데 검색해도 안 나옵니다

 

제가 제목 기준으로 셀렉트박스를 이용해서 오름차순이랑 내림차순 정렬은 만들었는데

 

랜덤은 어떻게 해야 될지 감이 안 오네요

 

검색해보니까 orderby rand가 있긴 한데

 

이건 게시물을 랜덤으로 선택해서 가져오는거지 랜덤으로 정렬은 아닌거 같고

 

어떻게 해야 셀렉트 박스로 랜덤 정렬을 선택했을때 랜덤으로 리스트가 나오게 될까요?

 

일단은 제목 기준으로 불러와서 랜덤 정렬하면 될거 같아서 만들어 봤는데 

 

ASC랑 DESC밖에 없으니 어떻게 해야 될지 모르겠네요

 

밑의 4번 코드 내역에서 오름차순 내림차순은 제가 추가한거고

 

랜덤을 이제 고쳐야 하는데 어디서 부터 시작해야 될지 감도 안오네요 

 

귀찮은 질문 드려서 죄송합니다 ㅠㅠ

 

 

3. 확인 가능한 상세 페이지 주소

 

 

4. 수정한 코드 내역 (있다면)

 

		// 정렬 초기화
		if($this->sort == 'date'){
			$this->sort = "`{$wpdb->prefix}kboard_board_content`.`date`";
			$this->order = 'DESC';
		}
		
		if($this->getSorting() == 'newest'){
			// 최신순서
			$this->sort = "`{$wpdb->prefix}kboard_board_content`.`date`";
			$this->order = 'DESC';
		}
		else if($this->getSorting() == 'random'){
			// 랜덤
			$this->sort = "`{$wpdb->prefix}kboard_board_content`.`title`";
			$this->order = 'RANDOM';
		}
		else if($this->getSorting() == 'title_ascending'){
			// 오름차순
			$this->sort = "`{$wpdb->prefix}kboard_board_content`.`title`";
			$this->order = 'ASC';
		}
		else if($this->getSorting() == 'title_descending'){
			// 내림차순
			$this->sort = "`{$wpdb->prefix}kboard_board_content`.`title`";
			$this->order = 'DESC';
		}
		else if($this->getSorting() == 'best'){
			// 추천순서
			$this->sort = "`{$wpdb->prefix}kboard_board_content`.`vote`";
			$this->order = 'DESC';
		}
		else if($this->getSorting() == 'viewed'){
			// 조회순서
			$this->sort = "`{$wpdb->prefix}kboard_board_content`.`view`";
			$this->order = 'DESC';
		}
		else if($this->getSorting() == 'updated'){
			// 업데이트순서
			$this->sort = "`{$wpdb->prefix}kboard_board_content`.`update`";
			$this->order = 'DESC';
		}

 

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