【发布时间】:2012-11-24 07:03:00
【问题描述】:
我有一个将 csv 数据导入 wordpress 表的插件。它通过 Wordpress 仪表板运行,您可以在其中输入一些详细信息并单击一个按钮来执行它。
我已经更改了插件,使输入数据是静态的(每次都来自同一个 csv)并且现在都位于一个 php 文件中。我想安排一个 Cron 作业每隔一小时左右执行一次这个脚本。
我尝试使用 cPanel 设置它并直接访问 php 文件,但它不起作用(没有显示任何内容)。我相信这是因为该插件使用了 wp_insert_post 等 wordpress 功能。
我怎样才能运行这个脚本,就像它是通过 wordpress 仪表板运行一样,作为一个预定的事件?
注意:该文件还包含一些 javascript。
【问题讨论】:
-
我认为如果使用普通的cron作业,JS不会被执行。除此之外,您有两个选项可以执行此操作 - 添加
require_once( dirname( dirname( dirname( dirname( __FILE__ ) ) ) ) . '/wp-load.php' );并以相同的方式保持 cron 作业,或者将 cronjob 设为wget调用http://yoursite.com/?run_cron=randomCharactersHere,然后将脚本包装在init中挂钩回调并在那里检查if ( isset( $_GET['run_cron'] ) && $_GET['run_cron'] == 'randomCharactersHere'。这取决于你,但仍然不会执行 JS(你需要一个浏览器)
标签: php wordpress cron scheduled-tasks