如何在WooCommerce中创建一个可以处理订单的脚本,并且可以通过外部的(http)cronjob调用?
示例:应该通过cronjob调用myshop.com/myscript。脚本本身应该能够执行以下操作:
$order = new WC_Order( $order_id );
$mailer = $woocommerce->mailer();
此代码可以在我的主题函数中使用.php。但是我如何包含" WooCommerce Core" (?)在"正常" PHP脚本或我在哪里创建一个新脚本,Core是可用的,脚本可以从外部调用?
答案 0 :(得分:0)
现在我的解决方案如下:
在我的functions.php中创建一个短代码,如下所示
function handle_orders() {
// handle my orders and write debug info in $r
return $r;
}
add_shortcode('handle_orders', 'handle_orders');
在新页面中包含我的[handle_orders]短代码,并为其提供类似' / cronjob-handle-orders'
让(http)cronjob调用我创建的URL
答案 1 :(得分:0)
我知道这是一个老问题,但我今天晚些时候发现自己处于同样的情况,这就是我所做的:
在你的主题的functions.php中
if (isset($_GET['my_cron_call'])){
include_once 'inc/cron.php';
add_action('init','my_cron',11);
}
在子目录 ./inc/ 中放置您的文件 cron.php 并编写一个 my_cron 函数作为入口点。
function my_cron(){
//do here whatever you want in a wordpress / woocommerce context
//$order = new WC_Order( $order_id );
}
然后您可以使用您的 cron 调用您的 wp 网址:
curl https://your-wordpress.org/?my_cron_call