【问题标题】:Adding custom checkbox to WooCommerce product variation options将自定义复选框添加到 WooCommerce 产品变体选项
【发布时间】:2021-02-18 07:17:39
【问题描述】:

我在 WC 管理员中为可变产品添加了一个自定义字段。使用动作:

action_woocommerce_variation_options_pricing

但它显示在错误的位置。理想情况下,我希望复选框显示在上面的选项部分中。但我找不到将它移到那里的动作。

我花了很长时间浏览 WC 文档,但找不到正确的操作。有谁知道我将复选框移动到此位置的正确方法?

【问题讨论】:

    标签: wordpress woocommerce backend product hook-woocommerce


    【解决方案1】:

    您可以使用 woocommerce_variation_options 操作挂钩,将自定义复选框添加到 WooCommerce 产品变体选项。

    (复制自:views/html-variation-admin.php,第 188 行)

    <?php do_action( 'woocommerce_variation_options', $loop, $variation_data, $variation ); ?>
    

    所以你得到:

    // Add checkbox
    function action_woocommerce_variation_options( $loop, $variation_data, $variation ) {
        $is_checked = get_post_meta( $variation->ID, '_mycheckbox', true );
    
        if ( $is_checked == 'yes' ) {
            $is_checked = 'checked';
        } else {
            $is_checked = '';     
        }
    
        ?>
        <label class="tips" data-tip="<?php esc_attr_e( 'This is my data tip', 'woocommerce' ); ?>">
            <?php esc_html_e( 'Checkbox:', 'woocommerce' ); ?>
            <input type="checkbox" class="checkbox variable_checkbox" name="_mycheckbox[<?php echo esc_attr( $loop ); ?>]"<?php echo $is_checked; ?>/>
        </label>
        <?php
    }
    add_action( 'woocommerce_variation_options', 'action_woocommerce_variation_options', 10, 3);
    
    // Save checkbox
    function action_woocommerce_save_product_variation( $variation_id, $i ) {
        if ( ! empty( $_POST['_mycheckbox'] ) && ! empty( $_POST['_mycheckbox'][$i] ) ) {
            update_post_meta( $variation_id, '_mycheckbox', 'yes' );
        } else {
            update_post_meta( $variation_id, '_mycheckbox', 'no' ); 
        }       
    }
    add_action( 'woocommerce_save_product_variation', 'action_woocommerce_save_product_variation', 10, 2 );
    

    【讨论】:

    • 啊当然。我正在监督这样一个事实,即我需要从 woocommerce_variation_options_pricing 退后一步,只使用 woocommerce_variation_options 操作。非常感谢您为我指明了正确的方向。您可以忽略“样本设置”,我认为它会让您偏离轨道,以橙色突出显示。我可以确认屏幕截图位于“变体”上方的选项卡上。
    猜你喜欢
    • 2021-02-19
    • 2020-11-08
    • 1970-01-01
    • 2018-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-12
    • 2021-05-02
    相关资源
    最近更新 更多