我有一个自定义帖子类型,我希望根据我在一个名为“交付日期”的自定义字段中输入的日期输出两个元框(" 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'));
这样我的订单日期是交货日期之前的星期日?
答案 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" )) );
因此,在我的新交货日期元框中输入日期并更新我的帖子后,将创建两个自定义字段。一个返回交货日期元框的值,另一个转换为最后一个周日返回我的订单日期。