0

これが可能かどうかはわかりませんが、朝の00:00に投稿を選択し、その投稿を24時間表示するWordpressクエリを作成する方法があるかどうか疑問に思っていました. 翌朝 00:00 になると更新され、別のランダムな投稿がさらに 24 時間表示されます。これは可能ですか?

4

1 に答える 1

1

WordPress Transients APIWP_Query クラスを使用して実行できます。

$random_id = '';
if ( false === ( $random_id = get_transient( 'some_random_post_id' ) ) ) {
     // The transient expired, so create another
     $args = array(
      'posts_per_page' => 1, #return one value
      'orderby'        => 'rand',
      'post_type'      => 'yourposttype'
        );
     $single_post_query = new WP_Query( $args );
     while( $single_post_query->have_posts() ){
         $single_post_query->the_post();
         $random_id = get_the_ID(); 
         set_transient('some_random_post_id', $random_id, 60*60*24); # save the ID returned
     }

}
//do your stuff with $random_id as the post id.

誰かがあなたのウェブサイトにアクセスしたときに WordPress が一時的に更新するため、正確に 24 時間ではない場合があることに注意してください。また、WordPress 3.5 以降を使用している場合は、 のDAY_IN_SECONDS代わりに定数を使用できます60*60*24

于 2013-04-01T10:54:09.500 に答える