2014-01-06 2 views
1

나는 PHP에 상당히 익숙하다. 그래서 이것이 바보 같은 질문 인 것 같으면 나를 용서해 라. 나는 클라이언트를위한 WP 테마를 만들고 있는데, 나는 "무작위 게시물"섹션을위한 기본 기능을 갖췄다.하지만 나 자신을 알아낼 수없는 요소가있다.Wordpress Query 무작위 게시물 X 시간마다

맞춤 게시물 유형이며 맞춤 입력란을 사용합니다. 이 게시물 유형에서 4 개의 게시물이 필수 정보와 함께 무작위로 표시됩니다.

Now : 나는 이것을 스스로 알아낼 수 있었지만 무작위 4 개의 게시물은 내가 곤혹스러운 곳이다. 클라이언트는 페이지가 다시로드 될 때가 아니라 매 24 시간마다 "무작위"상태가 발생하도록 요청하고 있습니다.

기본적으로 ... 기존 쿼리를 변경하여 페이지가로드 될 때마다 24 시간마다 출력 만 변경되도록하려면 어떻게해야합니까? 당신이 할 수있는 몇 가지 방법이 있습니다

<ul> 
    <?php query_posts("post_type=chapter&orderby=rand&posts_per_page=4");?> 
    <?php if (have_posts()) : while (have_posts()) : the_post(); ?> 

     <li> 
      <div class="authors"> 
       <a href="<?php the_permalink();?>"><img src="<?php 
       $post_object = get_field('article_author'); 

      if($post_object): 
      // override $post 
      $post = $post_object; 
      setup_postdata($post); 
      the_field("profile_image"); 
      $first=get_field("first_name"); 
      $last=get_field("last_name"); 
      endif; 
      wp_reset_postdata(); 
       ?>"></a> 
       <div class="author-name-home"><?php the_title();?></div> 
       <div class="author-title-home"><?php echo $first;?> <?php echo $last;?></div> 
      </div> 
     </li> 
    <?php endwhile; endif; wp_reset_query(); ?> 

    </ul> 

답변

0

:

아래에있는 내 기존 코드를 참조하십시오. 다음은 몇 가지 옵션이 있습니다 : 지명 포스트 (그렇지 않으면 사용자 정의 또는) 내

  1. 이 몇 가지 추가 메타 데이터를 추가 - 당신이 당신의 4 개 무작위 게시물의 결과 ID를 저장할 수 있습니다 (예 : metaname : 'dailyrand'값 : '44 , 55,11,23 '). 이 특정 게시물이 실행될 때마다 마지막으로 업데이트 된 시간과 날짜를 정기적으로 확인해야합니다. 마지막 편집 후 시간과 날짜가 24 시간 후에 메타포를 새로 생성 된 임의 게시물 ID로 덮어 씁니다. 아직 24 시간이 아니라면 저장된 게시물 ID를 가져와 표시하십시오. 물론 다른 이유로 인해 게시 데이터가 변경되면 잘못된 간격으로 새로 고칠 수 있습니다. 실제 게시 된 업데이트 시간에 의존하는 대신 업데이트 할 시간 및 날짜 메타 태그도 설정하는 것이 좋습니다.

  2. 몇 가지 필드 (dailyrand, recordtime, postids 등)로 테이블을 만들고 기본적으로 동일한 작업을 수행하십시오. 마지막으로 테이블을 업데이트 한 후 24 시간 동안 매번 확인하고 헹구고 반복하십시오.

  3. 일부 플러그인 또는 위젯을 사용해보십시오. :) 여기에 하나 : http://wordpress.org/plugins/static-random-posts-widget/ - 잠시 동안 업데이트 된 것처럼 보이지 않습니다.

물론이 중 일부는 끔찍한 아이디어라고 생각할 수 있습니다. 아직 아무도 언급하지 않았으므로 빠른 제안을하고 있습니다.

관련 문제