首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在wp-cron中使用wp-ajax

如何在wp-cron中使用wp-ajax
EN

WordPress Development用户
提问于 2018-04-16 10:19:02
回答 1查看 2K关注 0票数 0

我已经创建了一个自定义wordpress插件,在这里我使用wp。在类的__construct中,我有一个操作(admin_footer),以便在wp 使用说明之后使用wp_enqueue_script和wp_localize_script

因此,流程类似于php、->、js、->以及php。

我为什么要这么做?以避免内存限制错误。这里说了句好话:“上面的解决方案通过将单个大任务分解成多个较小的任务来绕过PHP的限制。”

一切都像后端的魅力!

我的问题是如何管理这个过程与wp-cron一起工作?wp-cron可以和js一起工作吗?

我用我的定制钩子尝试了wp_schedule_event,但没有成功(js从未起作用)。

有什么想法吗?

问候

EN

回答 1

WordPress Development用户

发布于 2018-04-16 11:20:04

首先,考虑在新的REST而不是管理可用的环境中使用JavaScript。

现在要回答您的问题: JavaScript不适用于wp,因为这些请求仅在服务器上运行,而不是在某些解释的HTML/JavaScript上运行。那你能做什么?如果您还没有完成(或者您分离的工作负载已经完成),那么就安排另一个事件吧。

虽然wp_schedule_event()用于循环事件,但也有wp_schedule_single_event()可以用于“尚未完成”的工作负载。

假设您想每天清理db,工作流可能如下所示

  1. wp_schedule_event()运行函数clean_my_db()
  2. clean_my_db()中创建一个数组$tables_to_clean = ['posts', 'postmeta']。现在调用wp_schedule_single_event()来运行clean_my_db_table(),并将每个表作为参数传递。
  3. clean_my_db_table('posts')运行
  4. clean_my_db_table('postemta')运行

概括地说:您有一个由wp_schedule_event()调用的函数,它是一个经常性事件。在此范围内,您决定拆分工作负载,并通过wp_schedule_single_event()在特定的日期/时间运行它们。

票数 0
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/300902

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档