Как установить флажок, который будет всегда отмечен в продукте woocommerce? - PullRequest
0 голосов
/ 15 января 2019

Как установить флажок, который будет всегда отмечен? Я использую плагин "Плата за продукт Woocommerce", который рекламирует плату за продукты. У этого есть флажок, который, когда проверено, это вычисляет сборы за каждый продукт, добавленный в корзину. Чего я хочу добиться, так это установить этот флажок, чтобы он всегда был отмечен для каждого продукта, но я не могу найти правильный путь. Я добавил $ проверил, но ничего не происходит ...

Это выдержка из моего кода:

    // Check Box - Fee Multiply Option
    woocommerce_wp_checkbox( array( 
        'id'=> 'product-fee-multiplier[' . $variation->ID . ']', 
        'label' => __('Multiply Fee by Quantity', 'woocommerce-product-fees' ),
        'value' => get_post_meta( $variation->ID, 'product-fee-multiplier', true ), 
        'wrapper_class' => "product-fee-multiplier" , 
        'required'  => true
    ), $checked );

    do_action( 'wcpf_add_variation_settings' );

}

public function save_variation_settings_fields( $post_id ) {
    $another_field_updated = false;
    // Text Field - Fee Name
    $product_fee_name_text_field = $_POST['product-fee-name'][ $post_id ];
        if( ! empty( $product_fee_name_text_field ) || get_post_meta( 
        $post_id, 'product-fee-name', true ) != '' ) {
            update_post_meta( $post_id, 'product-fee-name', esc_attr( $product_fee_name_text_field ) );
            $another_field_updated = true;
        }

Ответы [ 2 ]

0 голосов
/ 15 января 2019

Если вы попытаетесь прочитать документы, вы увидите, что функция woocommerce_wp_checkbox() имеет различные параметры и использует функцию checked() внутри. Итак, добавим проверено, если value = cbvalue. Кроме того, вы можете добавить пользовательский с помощью параметра custom_attributes. Итак, у вас есть два пути:

woocommerce_wp_checkbox( array( 
    'id'=> 'product-fee-multiplier[' . $variation->ID . ']', 
    'label' => __('Multiply Fee by Quantity', 'woocommerce-product-fees' ),
    'value' => get_post_meta( $variation->ID, 'product-fee-multiplier', true ), 
    'cbvalue' => get_post_meta( $variation->ID, 'product-fee-multiplier', true ), 
    'wrapper_class' => "product-fee-multiplier" , 
    'required'  => true
));

OR

woocommerce_wp_checkbox( array( 
    'id'=> 'product-fee-multiplier[' . $variation->ID . ']', 
    'label' => __('Multiply Fee by Quantity', 'woocommerce-product-fees' ),
    'value' => get_post_meta( $variation->ID, 'product-fee-multiplier', true ), 
    'custom_attributes' => 'checked',
    'wrapper_class' => "product-fee-multiplier" , 
    'required'  => true
));
0 голосов
/ 15 января 2019

При использовании функции поля формы Woocommerce woocommerce_wp_checkbox(), если вы хотите, чтобы флажок всегда был установлен по умолчанию, вы будете использовать 'cbvalue' аргумент массива, например:

// Check Box - Fee Multiply Option
woocommerce_wp_checkbox( array( 
    'id'            => 'product-fee-multiplier[' . $variation->ID . ']', 
    'label'         => __('Multiply Fee by Quantity', 'woocommerce-product-fees' ),
    'value'         => get_post_meta( $variation->ID, 'product-fee-multiplier', true ), 
    'cbvalue'       => get_post_meta( $variation->ID, 'product-fee-multiplier', true ), 
    'wrapper_class' => "product-fee-multiplier" , 
    'required'      => true
), $checked );

do_action( 'wcpf_add_variation_settings' );

Это позволит вам всегда отмечать установленный флажок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...