如何在Woocommerce的结帐标签中添加自定义字段?

时间:2016-06-08 03:43:22

标签: php wordpress woocommerce

我正在使用插件来创建多步结帐购物车。它的文档可以在这里找到:http://woocommerce-multistep-checkout.mubashir09.com/documentation/

我已经创建了一个类似的新标签:

add_action('woocommerce_multistep_checkout_before', 'add_my_custom_step');

function add_my_custom_step() {
    $contents = '<h1>Custom Step</h1>';
    $contents .= '<div class="my-custom-step"> Place your step contents here. This can be anything including HTML/PHP </div>';
    echo $contents;
}

现在我正试图在自定义步骤中放入一大堆新字段。我怎样才能做到这一点?我正在看woocommerce文档,并试过这个:

//what hook should I use here to put it in the tab I created?
add_action( 'woocommerce_multistep_checkout_before', 'my_custom_checkout_field' );

function my_custom_checkout_field( $checkout ) {

    echo '<div id="my_custom_checkout_field"><h2>' . __('My Field') . '</h2>';

    woocommerce_form_field( 'my_field_name', array(
        'type'          => 'text',
        'class'         => array('my-field-class form-row-wide'),
        'label'         => __('Fill in this field'),
        'placeholder'   => __('Enter something'),
        ), $checkout->get_value( 'my_field_name' ));

    echo '</div>';

}

所以基本上这会使整个页面变空。我正在试图弄清楚我应该使用哪个钩子来显示该字段。如果我使用woocommerce_before_checkout_billing_form字段确实显示但位于结算标签顶部而不是之前的标签我需要它。

1 个答案:

答案 0 :(得分:0)

我只是发现我可以使用jquery从另一侧移动字段。我认为不是最好的解决方案,但确实有效。

jQuery(function(){
    jQuery(".my-field-class").detach().appendTo(".my-custom-step")
})