WordPress save_post无法正常工作

时间:2015-01-16 02:17:47

标签: php wordpress

我有以下代码(编辑以减小尺寸),但没有按预期工作。 update_post_meta未更新。 如果我按原样使用它,它什么都不做,但如果我取消注释最后两行并打印出结果,然后是die;,那么函数工作并且update_post_meta工作,并更新自定义字段。

任何想法??

function swd_add_time_as_line_item($post_id) {

$invoice_id = $post_id;
$title          = $_POST['time_tracker_add_title'];
$description    = $_POST['time_tracker_add_desc'];
$qty = '1';


// store the data in array
$arr = array("swd_billing_qty" => $qty, "swd_billing_title" => $title, "swd_billing_description" => $description, "swd_billing_amount" => '75' );

// get existing tasks, if they exist. will simply be empty if none exist
$existing_items = get_post_meta($invoice_id, 'swd_billing_item', true);

// add the array data to existing data, or simply adds it if there is none
$existing_items[] = $arr;

// update the post meta
update_post_meta($invoice_id, "swd_billing_item", $existing_items);

// pp($existing_items);
// die;

}
add_action('save_post', 'swd_add_time_as_line_item', 10, 1);

解决 我将以下代码添加到函数的底部,现在它正在运行。

$update = update_post_meta($invoice_id, "swd_billing_item", $the_items, $existing_items);

if($update == true) {
    wp_safe_redirect('post.php?post=' . $invoice_id . '&action=edit&message=4');
    die;
}

0 个答案:

没有答案