2011-02-17 3 views
1

나는 700 점의 작품 (사용자 정의 게시물 유형)을 가지고 있으며 페이지에서 그들을 깨고 싶습니다. 하지만 매번 임의의 위치에 있어야합니다.wordpress는 페이징하는 동안 임의의 게시물을 표시합니다.

문제는 내가

'paged'=>$paged, 'posts_per_page' => 60, 'orderby'=>rand 

를 사용할 때 각 페이지 게시물을 재배치하고 전에서 같은 게시물을 찾을 수 있다는 것입니다. 2, 7 페이지.

먼저 게시물을 무작위로 추출한 다음 페이지로 나누는 방법이 있습니까? 또는 세션 당 또는 ip 당 임의 게시물?

답변

0

내 생각에 'orderby' => rand은 한 번에 하나씩 임의의 게시물을 선택하기 때문에 옵션 rand이있는 게시물을 표시 할 때마다 임의로 데이터베이스에서 하나를 선택합니다. 페이지와 게시물.

당신의 문제에 대한 해결책은 전혀 다른 접근 방식을 취하는 것입니다.

홈페이지를 방문 할 때마다 모든 게시물 (귀하의 경우 0-700)에 대해 한 번씩 고유 번호 목록을 무작위로 생성하는 PHP 스크립트를 호출 할 수 있습니다. 데이터베이스를 수정할 때 (게시물 행에 추가 열을 추가하거나 기존 열을 수정/추가하여) 해당 난수로 수정할 수 있습니다. 새/수정 된 열에 따라 주문하도록 설정할 수 있으므로 페이지의 모든 방문자에 대해 게시물이 무작위로 지정되지만 동일한 게시물을 두 번 표시하지는 않습니다. 그러나 ... 당신은 그것을 테스트해야 할 것입니다, 나는 결코 필요가 없기 때문에 코드 자체에서 'orderby'변수를 수정하지 않았습니다.

위와 비슷한 작업을 시도해 볼 수도 있지만 대신 테마가 사용자가 원하는 옵션을 제공한다고 가정하면 백엔드의 orderby 옵션을 코드와 달리 변경할 수 있습니다.

나는 당신의 문제를 해결하기를 바랍니다.

관련 문제