如何在更新post-meta上运行其他计算

时间:2014-02-28 21:35:50

标签: wordpress strtotime meta

我有一个自定义帖子类型,我希望根据我在一个名为“交付日期”的自定义字段中输入的日期输出两个元框(" delivery_date"和" orderby_date")。除了交货日期填充" delivery_date"框,我希望通过计算来显示" orderby_date"中的订单日期。框。有没有办法用update_post_meta做到这一点?

以下是我的交付日期元数据的代码:

<?php
function wpt_single_menu_deliverydate() {
    global $post;
    echo '<input type="hidden" name="singlemenumeta_noncename" id="singlemenumeta_noncename" value="' .
    wp_create_nonce( plugin_basename(__FILE__) ) . '" />';
    $deliver = get_post_meta($post->ID, '_deliverydate', true);
    echo '<input type="datetime-local" name="_deliverydate" value="' . $deliver  . '" class="widefat" />';
} ?>

这是我的代码,根据该数据输出两个自定义元框(在我的保存元函数中):

<?php
if(get_post_meta($post->ID, $key, FALSE)) { 
    update_post_meta($post->ID, $key, $value);
    update_post_meta( $post_id, 'delivery_date', stripslashes( $_POST['_deliverydate'] ) );
    update_post_meta( $post_id, 'orderby_date', stripslashes( $_POST['orderby_date'] ) );
?>

我的问题是如何结合

date('Y-m-d', strtotime('-1 week last Sunday'));

这样我的订单日期是交货日期之前的星期日?

1 个答案:

答案 0 :(得分:0)

不可否认,我是一个noobie,并且从代码片段中拼凑出相似的代码。我的解决方案是添加第二个'update_post_meta'并添加日期(strtotime())以将值返回到我创建的自定义字段中。然后我为实例创建了一个参数,所以我可以修改第二个实例的日期。

这有效:

if(get_post_meta($post->ID, $key, FALSE)) { 
    update_post_meta( $post_id, 'delivery_date', stripslashes( $_POST['delivery_date'] ) );
    update_post_meta( $post_id, 'delivery_date', date("Y-m-d", strtotime( $_POST[('_deliverydate')] )) );
$delivery = date("Y-m-d", strtotime( $_POST[('_deliverydate')] ));
    update_post_meta( $post_id, 'orderby_date', stripslashes( $_POST['orderby_date'] ) );
    update_post_meta( $post_id, 'orderby_date', date("Y-m-d", strtotime( "$delivery - 1 week last Sunday" )) );

因此,在我的新交货日期元框中输入日期并更新我的帖子后,将创建两个自定义字段。一个返回交货日期元框的值,另一个转换为最后一个周日返回我的订单日期。