小编Joh*_*thy的帖子

将数据保存到 WooCommerce 会话

我正在尝试将一个简单的文本输入保存到 WooCommerce 会话中。当用户将东西添加到他们的购物车时创建会话。

我的输入字段存在于自定义页面模板中,该模板将放置在购物车之后但结帐之前的用户流程中:购物车 > 我的模板 > 结帐。

迄今为止

捕获数据的简单表单(自定义模板文件)

<form name="group" method="post" class="checkout woocommerce-checkout" action="http://localhost:/site.dev/my-template">
    <div class="group-order">
        <p class="form-row form-row woocommerce-validated" id="create_new_group_field">
            <label for="create_new_group" class="">Join an existing group</label>
            <input type="text" class="input-text " name="create_new_group" id="create_new_group">
        </p>
    </div>
</form>
Run Code Online (Sandbox Code Playgroud)

接收和设置数据(我无法弄清楚何时/如何运行它。在我的自定义页面中

更新 我已将下面的代码添加到我的页面模板顶部,以便页面处理自身,然后重定向到结帐。

函数 set_and_save_input_to_session() {

if( !is_admin( ) ) {
    // User input
    if( ! empty( $_POST['create_new_group'] ) ) {
        $group_input_value =  $_POST['create_new_group']; 

        // Set session and save data
        WC()->session->set( 'group_order_data', $group_input_value );

        wp_redirect( 'http://localhost:28/site.dev/checkout' );
        exit();
    }
} …
Run Code Online (Sandbox Code Playgroud)

php wordpress session form-submit woocommerce

5
推荐指数
1
解决办法
1万
查看次数

WooCommerce - 将产品类别添加到订单明细表


这就是我正在尝试做的事情以及在哪里。

在订单的结账流程中,在插件 WooCommerce 中;结帐过程完成后,您将被带到一个页面。它显示订单详细信息的概览。用于输出此页面的模板文件是 order-details.php。

这是我想补充的

我想像这样显示产品的产品类别:

在此处输入图片说明

这是我尝试添加的代码区域,即订单详细信息表的第一部分。

<tbody>
    <?php
    if ( sizeof( $order->get_items() ) > 0 ) {

        foreach( $order->get_items() as $item ) {
            $_product     = apply_filters( 'woocommerce_order_item_product', $order->get_product_from_item( $item ), $item );
            $item_meta    = new WC_Order_Item_Meta( $item['item_meta'], $_product );

            ?>
            <tr class="<?php echo esc_attr( apply_filters( 'woocommerce_order_item_class', 'order_item', $item, $order ) ); ?>">
                <td class="product-name">
                    <?php
                        if ( $_product && ! $_product->is_visible() )
                            echo apply_filters( 'woocommerce_order_item_name', $item['name'], $item );
                        else
                            echo apply_filters( 'woocommerce_order_item_name', sprintf( '<a href="%s">%s</a>', get_permalink( $item['product_id'] ), …
Run Code Online (Sandbox Code Playgroud)

php wordpress woocommerce

2
推荐指数
1
解决办法
9795
查看次数

标签 统计

php ×2

woocommerce ×2

wordpress ×2

form-submit ×1

session ×1