我无法将WooCommerce Security Deposits插件(https://codecanyon.net/item/woocommerce-security-deposits-wordpress-plugin/19988389)中的某些输入字段集成到我网站的前端。
我尝试将字段输入WC Vendors Pro产品编辑表单,以便我网站上的用户可以调整其保证金值等。
我对安全存款有以下输入,并通过第二个代码块中的函数将其保存到产品元数据中。
<?php woocommerce_wp_checkbox( array(
'id' => '_wc_security_deposits_enable' ,
'label' => __( 'Collect security deposit' , 'woocommerce-security-deposits' ) ,
'description' => __( 'Enable this to collect a security deposit for this product' , 'woocommerce-security-deposits' ) ,
'desc_tip' => true ) );
?>
这是功能:
public function process_product_meta( $post_id ){
$product = wc_get_product( $post_id );
$enable_security_deposit = isset( $_POST[ '_wc_security_deposits_enable' ] ) ? 'yes' : 'no';
$amount_type = ( isset( $_POST[ '_wc_security_deposits_amount_type' ] ) &&
( $_POST[ '_wc_security_deposits_amount_type' ] === 'fixed' ||
$_POST[ '_wc_security_deposits_amount_type' ] === 'percent' ) ) ?
$_POST[ '_wc_security_deposits_amount_type' ] : 'fixed';
$amount = isset( $_POST[ '_wc_security_deposits_deposit_amount' ] ) &&
is_numeric( $_POST[ '_wc_security_deposits_deposit_amount' ] ) ? floatval( $_POST[ '_wc_security_deposits_deposit_amount' ] ) : 0.0;
if( $amount <= 0 ){
$enable_security_deposit = 'no';
$amount = '';
}
$multiply_by_persons = isset( $_POST[ '_wc_security_deposits_multiply_per_persons' ] ) ? 'yes' : 'no';
$multiply_by_quantity = isset( $_POST[ '_wc_security_deposits_multiply_by_quantity' ] ) ? 'yes' : 'no';
$product->update_meta_data( '_wc_security_deposits_enable' , $enable_security_deposit );
$product->update_meta_data( '_wc_security_deposits_multiply_by_quantity' , $multiply_by_quantity );
$product->update_meta_data( '_wc_security_deposits_amount_type' , $amount_type );
$product->update_meta_data( '_wc_security_deposits_deposit_amount' , $amount );
if( $product->is_type( 'booking' ) && $product->has_persons() ){
$product->update_meta_data( '_wc_security_deposits_multiply_per_persons' , $multiply_by_persons );
}
$product->save();
}
我尝试在WP Vendors插件的单独页面中创建一个字段,该插件模仿启用安全存款的复选框,但是我显然无法使其坚持产品元数据 - 它只是视觉和做功能不正常。
非常感谢任何帮助,我不是PHP程序员,并且长期以来一直坚持这个问题。
非常感谢