1 php wordpress wordpress-rest-api
我一直在摆弄 Wordpress REST API,创建了我的自定义端点,并获取了我想要的确切数据。基本上,我创建了一个端点来接收所有帖子/页面/acf - 我只想在预加载期间调用 API 一次,而不是在每次页面加载时调用 API。
但是,当我调用 API 时,所有逻辑都会运行,这会导致加载时间为 1 到 2 秒。是否有可能每当我在 Wordpress 上进行更新时,它都会调用我的端点,并在服务器上写入一个 JSON 文件,即 data.json?这样,当我加载网站时,它可以调用 data.json,完全没有延迟。
我不确定这是否可能,但想尝试在这里询问。
小智 5
此方法允许您从外部或内部 API 端点编写 json;它不如上面的复杂(目标文件夹明智),但使用 REST API,因此您可以获取完整的 posts 对象,而无需指定所有字段:
// Export API Data to JSON, another method
add_action('publish_post', function ($ID, $post) {
$wp_uri = get_site_url();
$customApiEndpoint = '/wp-json/wp/v2/posts'; // or your custom endpoint
$url = $wp_uri . $customApiEndpoint; // outputs https://your-site.com/wp-json/wp/v2/posts
// $url = 'https://your-site.com/wp-json/wp/v2/posts'; // use this full path variable in case you want to use an absolute path
$response = wp_remote_get($url);
$responseData = json_encode($response); // saved under the wp root installation, can be customized to any folder
file_put_contents('your_api_data_backup.json', $responseData);
}, 10, 2);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6789 次 |
| 最近记录: |