【问题标题】:How to run an additional calculation on update_post-meta如何在 update_post-meta 上运行附加计算
【发布时间】:2014-02-28 21:35:49
【问题描述】:

我有一个自定义帖子类型,我想根据我在名为 Delivery Date 的自定义字段中输入的日期输出两个元框(“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'));

所以我的订购日期是交货日期之前的星期天?

【问题讨论】:

    标签: wordpress strtotime meta


    【解决方案1】:

    诚然,我是个菜鸟,我正在拼凑来自 sn-ps 的看似相关的代码。我的解决方案是添加第二个“update_post_meta”并添加 date(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" )) );
    

    因此,在我的新交货日期元框中输入日期并更新我的帖子后,会创建两个自定义字段。一个返回 Delivery Date 元框的值,另一个转换为前一个星期日以返回我的 Order-By Date。

    【讨论】:

      猜你喜欢
      • 2019-12-05
      • 2020-07-22
      • 1970-01-01
      • 2018-12-07
      • 1970-01-01
      • 1970-01-01
      • 2016-05-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多