Woocommerce - 自定义变量产品选项

时间:2013-07-05 06:03:30

标签: wordpress customization woocommerce

聪明的人我至少对我来说可能是一个挑战。

我正在将Woocommerce用于电子商务网站,但需要自定义可变产品选项,以便为我的产品添加更相关的变体信息。默认情况下,Woocommerce为您提供以下可变产品,SKU,库存数量,常规价格,销售价格,重量,尺寸(长×宽×高),运输等级的选项。你能告诉我如何删除这些选项并添加我自己的选项。我需要选项,如构造,最大载荷单(kg),最大载荷双(kg),最大速度(km / h)....我需要这样,所以每个尺寸属性可以有不同的变量。

将自定义字段添加到选项卡后,我还需要它们显示在前端添加信息选项卡上。

有什么想法吗?

需要定制的面板图片

here http://i42.tinypic.com/2hsby3t.png

由于

1 个答案:

答案 0 :(得分:0)

您需要加入:

woocommerce_process_product_meta_variable

所以这样的事情就可以解决问题:

add_action( 'woocommerce_process_product_meta_variable', 'function new_custom_field_here', 10, 1 );

function new_custom_field_here( $loop, $variation_data ) { ?>

      <label>New Field</label>
      <input name="new_field_[<?php echo $loop; ?>]" value="<?php echo $variation_data['_new_field'][0]; ?>"/>

<?php }

这将创建一个新字段。然后,您需要保存此数据:

add_action( 'woocommerce_process_product_meta_variable', 'save_new_custom_field', 10, 1 );

function save_new_custom_field( $post_id ) {
if (isset( $_POST['variable_sku'] ) ) :
    $variable_sku = $_POST['variable_sku'];
    $variable_post_id = $_POST['variable_post_id'];

    $new_field = $_POST['new_field'];

    for ( $i = 0; $i < sizeof( $variable_sku ); $i++ ) :
        $variation_id = (int) $variable_post_id[$i];
        if ( isset( $new_field [$i] ) ) {
            update_post_meta( $variation_id, '_new_field', stripslashes( $new_field [$i] ) );
            update_post_meta( $variation_id, '_parent_product', $post_id );

        }

    endfor;

endif;
}

我希望这能让你走上正轨!

相关问题