gpt4 book ai didi

php - 如何在 WooCommerce 产品管理员中设置一个复选框以始终选中?

转载 作者:行者123 更新时间:2023-12-02 17:00:59 24 4
gpt4 key购买 nike

如何设置复选框始终被选中?我正在使用一个插件“Woocommerce product fee”来向产品收费。它有一个复选框,当被选中时,它会计算添加到购物车中的每个产品的费用。我想要实现的是将此复选框设置为始终检查每个产品,但我找不到正确的方法。我添加了 $checked 但没有任何反应......

这是我的代码的摘录:

    // 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;
}

最佳答案

当使用 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' );

这将允许您始终选中目标复选框。


从 woocommerce 3 开始,这里是“产品”帖子类型的一个简单完整的工作示例:

// Displaying quantity setting fields on admin product pages
add_action( 'woocommerce_product_options_pricing', 'add_custom_field_product_options_pricing' );
function add_custom_field_product_options_pricing() {
global $product_object;

echo '</div><div class="options_group">';

$values = $product_object->get_meta('_cutom_meta_key');

woocommerce_wp_checkbox( array( // Checkbox.
'id' => '_cutom_meta_key',
'label' => __( 'Custom label', 'woocommerce' ),
'value' => empty($values) ? 'yes' : $values,
'description' => __( 'Enable this to make something.', 'woocommerce' ),
) );
}

// Save quantity setting fields values
add_action( 'woocommerce_admin_process_product_object', 'save_custom_field_product_options_pricing' );
function save_custom_field_product_options_pricing( $product ) {
$product->update_meta_data( '_cutom_meta_key', isset($_POST['_cutom_meta_key']) ? 'yes' : 'no' );
}

代码进入事件子主题(或事件主题)的 functions.php 文件。经过测试并有效。

关于php - 如何在 WooCommerce 产品管理员中设置一个复选框以始终选中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54197716/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com