javascript - 更新 WordPress 帖子元而不刷新页面

标签 javascript php jquery wordpress

我想更新帖子元而不刷新页面:
我有这部分代码:

$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']);

我在帖子模板中编写了这段代码。通过访问此页面,帖子元将被更新。 我想要一种无需刷新或访问页面即可自动更新帖子元的方法。

最佳答案

您检查过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();
  }

}

?>

此代码未经测试!请您自己测试一下。

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

关于javascript - 更新 WordPress 帖子元而不刷新页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39450812/

相关文章:

jquery - for 循环中的 AJAX 请求返回乱序结果

javascript - document.getElementsByTagName 不起作用

JavaScript 构建构造函数的构造函数

php - MySQL + 根据一行的值更新行

php - CodeIgniter,了解调用函数的 Controller

jquery - 阻止 UI 无法阻止 div

javascript - React — 预期语法错误 : Unexpected token,;

javascript - 在触摸设备上水平滑动元素

php - DateTime::createFromFormat 问题

javascript - 像php session,js/jquery session有没有?