如何在产品单页中显示价格更新日期?

时间:2020-06-05 作者:Reza

我想在“添加到购物车”按钮后的Woocommerce产品单页中显示价格更新日期。类似这样:“价格于2020年5月6日更新”

我试图进行研究,但没有找到好的答案。谢谢你的帮助。

https://wordpress.stackexchange.com/a/216653/189455这也是一个很好的参考,但我不知道如何使用和执行他在代码中所说的内容。

1 个回复
最合适的回答,由SO网友:Sabbir Hasan 整理而成

事情是这样的。Wordpress或woocommerce不存储价格更新日期。但正如我们所知,当您更新价格时,您需要保存产品,从而更改产品上次修改的时间。因此,您可以将该日期显示为价格更新日期。

您可以使用以下代码显示该日期。了解更多有关该操作的信息here.

add_action( \'woocommerce_after_shop_loop_item\', \'after_shop_loop_item_action_callback\', 20 );
function after_shop_loop_item_action_callback() {
    global $product;

    echo \'<br><span class="date_modified">\' . $product->get_date_modified()->date(\'F j, Y, g:i a\') . \'</span>\';
}
To Do this using a custom field在仪表板中注册自定义字段。它将显示在“常规”选项卡中。

/**
 * Display the date picker in dashboard
 * @since 1.0.0
 */
function cfwc_price_update_time_field() {
    $args = array(
        \'id\' => \'cf_price_update_time\',
        \'label\' => __( \'Price Update Date\', \'cfwc\' ),
        \'class\' => \'cfwc-price-update\',
        \'type\' => \'date\',
        \'desc_tip\' => true,
        \'description\' => __( \'Enter last price update date\', \'ctwc\' ),
    );
    woocommerce_wp_text_input( $args );
}
add_action( \'woocommerce_product_options_general_product_data\', \'cfwc_price_update_time_field\' );

/**
 * Save the date picker data
 * @since 1.0.0
 */
function cfwc_save_price_update_time_field( $post_id ) {
    $product = wc_get_product( $post_id );
    $title = isset( $_POST[\'cf_price_update_time\'] ) ? $_POST[\'cf_price_update_time\'] : \'\';
    $product->update_meta_data( \'cf_price_update_time\', sanitize_text_field( $title ) );
    $product->save();
}
add_action( \'woocommerce_process_product_meta\', \'cfwc_save_price_update_time_field\' );


/**
 * Display the date on the front end
 * @since 1.0.0
 */
function cfwc_display_price_update_time() {
    global $post;
    // Check for the custom field value
    $product = wc_get_product( $post->ID );
    $title = $product->get_meta( \'cf_price_update_time\' );

    $data = date_format(date_create($title),"d/m/Y");
    if( $data ) {
        printf(\'<span class="cfwc-custom-field-wrapper"> Price updated at %s</span>\',
            esc_html( $data )
        );
    }
}
add_action( \'woocommerce_after_add_to_cart_button\', \'cfwc_display_price_update_time\' );

相关推荐