更新wordpress post meta而不刷新页面

时间:2016-09-12 12:54:47

标签: javascript php jquery wordpress

我想更新post meta而不刷新页面:
我有这部分代码:

$api = "https://api.themoviedb.org/3/tv/1402?api_key=########";
$json = file_get_contents($api);
$data = json_decode($json, TRUE);
update_post_meta($post->ID, 'status', $data['status']);

我在帖子模板中写了这段代码。访问此页面的帖子将会更新。 我想要一种自动更新post meta的方法,而无需刷新或访问页面页面

1 个答案:

答案 0 :(得分:0)

您检查了wp-cron吗? 您可以创建每天或每12小时触发的计划事件......?

在此功能中,您可以在帖子中查询每个帖子的循环以更新帖子元。

可能是这样的:

<?php

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

add_action( 'al_my_scheduled_task', 'al_my_scheduled_function' );

function al_my_scheduled_function() {

  $args = array(
    'post_type' => 'posts',
    'posts_per_page' => -1,
    'limit' => -1
  )
  $posts = get_posts($args);

  if($posts){
    foreach($posts as $post){ setup_postdata($post);
      $api = "https://api.themoviedb.org/3/tv/1402?api_key=########";
      $json = file_get_contents($api);
      $data = json_decode($json, TRUE);
      update_post_meta( get_the_id() , 'status', $data['status']);
    }
    wp_reset_postdata();
  }

}

?>

此代码未经过测试! Plz自己测试一下。

请查看有关wp-cron和缓存插件问题的this answer

相关问题