状态更改后,myAccount中的woocommerce更新日期

时间:2018-10-29 13:30:30

标签: woocommerce

你好,我有一个问题。

如果我从管理员更改了订单的状态,则客户需要在我的订单的myaccount页面上获取上次更改状态的日期。

您对如何实现此目标有任何想法吗?

1 个答案:

答案 0 :(得分:0)

if ( ! defined( 'ABSPATH' ) ) {
	exit;
}

?>
<p><?php
	/* translators: 1: order number 2: order changed date 3: order status */
	printf(
		__( 'Ihre Bestellung #%1$s vom %4$s ist %3$s.<br> Letzte Statusänderung am %2$s.<br><br>', 'woocommerce' ),
		'<mark class="order-number">' . $order->get_order_number() . '</mark>',
		'<mark class="order-date">' . wc_format_datetime( $order->get_date_modified() ) . '</mark>',
		'<mark class="order-status">' . wc_get_order_status_name( $order->get_status() ) . '</mark>',
		'<mark class="order-date">' . wc_format_datetime( $order->get_date_created() ) . '</mark>'
	);
?></p>

<?php if ( $notes = $order->get_customer_order_notes() ) : ?>
	<h2><?php _e( '<br>Order updates', 'woocommerce' ); ?></h2>
	<ol class="woocommerce-OrderUpdates commentlist notes">
		<?php foreach ( $notes as $note ) : ?>
		<li class="woocommerce-OrderUpdate comment note">
			<div class="woocommerce-OrderUpdate-inner comment_container">
				<div class="woocommerce-OrderUpdate-text comment-text">
					<p class="woocommerce-OrderUpdate-meta meta"><?php echo date_i18n( __( 'l jS \o\f F Y, h:ia', 'woocommerce' ), strtotime( $note->comment_date ) ); ?></p>
					<div class="woocommerce-OrderUpdate-description description">
						<?php echo wpautop( wptexturize( $note->comment_content ) ); ?>
					</div>
	  				<div class="clear"></div>
	  			</div>
				<div class="clear"></div>
			</div>
		</li>
		<?php endforeach; ?>
	</ol>
<?php endif; ?>

<?php do_action( 'woocommerce_view_order', $order_id ); ?>

我添加了带有get_date_modified的新标记类。

然后它显示了我修改状态的最后日期。 如果所选状态为“ wc-completed”,我只想看到带有日期的文本“ LetzteStatusänderungam%2 $ s”。

所以我需要代码,仅在订单状态为wc-completed时才显示修改状态的文本和日期。

我不知道如何以另一种方式实现它。 我附加了一个屏幕快照,以可视化要创建的内容。Screenshot