保存数据库查询并每X小时自动更新一次。 WordPress的

时间:2016-05-16 14:49:45

标签: php mysql database wordpress store

我是初学者,我需要一些帮助来优化我的“所有帖子”页面。

我有一个包含我发布的所有帖子(300+)的页面。我用这段代码显示它们:

while ( $the_query->have_posts() ) : $the_query->the_post(); ?> 
    <a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>">
    <?php the_title();?></a>
        <?php 
            global $wpdb;
            $postid = $post->ID;
            $postTit = $wpdb->get_var( "SELECT posttitle FROM wp_posts WHERE ID=" . $postid);
            echo "{$postTit}";
        ?>
    <div class="comments">
        <?php 
            global $wpdb;
            $postid = $post->ID;
            $commCount = $wpdb->get_var( "SELECT comment_count FROM wp2_posts WHERE ID=" . $postid);
            echo "{$commCount }";
        ?>
    </div>
<?php endwhile;

问题是:

我在考虑“存储”查询并每小时更新一次。我试图谷歌一些事情没有成功。如果有人能告诉我至少我需要搜索什么,我会很感激,因为我是这类事情的初学者。

(抱歉英语不好)

修改1

你们认为使用PHP将数据从MySQL转换为JSON并每小时更新一次是一个好主意吗?

1 个答案:

答案 0 :(得分:0)

您可以使用wp_cron()功能进行自动保存和更新:

if ( ! wp_next_scheduled( 'my_task_hook' ) ) {
  wp_schedule_event( time(), 'hourly', 'my_task_hook' );
}

add_action( 'my_task_hook', 'my_task_function' );
function my_task_function() {
  wp_mail( 'your@email.com', 'Automatic email', 'Automatic scheduled email from WordPress.');
}

您需要根据自己的需要进行调整。