【发布时间】:2015-09-14 04:12:22
【问题描述】:
我不太擅长 WordPress php 编码和多循环,请大家帮忙。
我正在尝试创建 API 函数调用调度程序邮件。它所做的是检查帖子表以获取 woocommerce 订购的帖子。获取 post_modified 元数据,其中 post_status 为“wc-completed”,并基于 post_modified 日期,该函数将在 post_modified 日期后 5 天后向用户发送一封电子邮件。
public function schedulerMail(){
global $wpdb;
$s= $wpdb->get_results("SELECT ID,post_modified FROM $wpdb->posts WHERE post_status like 'wc-completed'");
for($i = 0; $i < count($s); $i++){
$post_data = array (
'ID' => $s[$i]->ID,
'post_modified' =>$s{$i}->post_modified,
);
return array ("post"=>$post_data);
}
}
我想出了这段代码,它确实显示了 $s 的正确数据。
{
0: [
{
ID: "99",
post_modified: "2015-09-02 07:58:14"
},
{
ID: "100",
post_modified: "2015-09-04 02:59:27"
},
{
ID: "101",
post_modified: "2015-09-09 07:36:56"
}
],
status: "ok"
}
但是当我返回 $post_data 时它只返回 1 行数据而不是 3
{
status: "ok",
post: {
ID: "99",
post_modified: "2015-09-02 07:58:14"
}
}
我不知道如何解释,但我想根据这些日期进行日期检查,如果日期正好超过 5 天,请发送电子邮件。
【问题讨论】:
-
如我所见,您每次都在循环中重新创建/覆盖数组