问题描述
我尝试在产品页面上制作自定义计算器。我做了一个计算器和脚本来计算。但是现在所有的起始值都是静态的。此计算器应适用于每个产品的自定义值。 我在产品页面上添加了一个部分,如短代码。
function woo_calculator_content() {
// Калькулятор
echo ('
<section>
<script src="http://door.vel-wild.pro/wp-content/themes/mrDoor/raschet.js"></script>
<form action="" method="post">
<div class="vel_sum input-group">
<span>Сколько нужно м<sup>2</sup></span>
<input type="button" value="-" class="button-minus" data-field="quantity">
<input class="vel_sum_meter" id="skolkometrov" name="QTY" type="number" step="1" min="1" value="1" oncclick="multiply(this)">
<input type="button" value="+" class="button-plus" data-field="quantity">
<input name="PPRICE" value="1.67" style="display: none;">
<div> <span>Колличество упаковок <input name="TOTAL" readonly class="vel_sum_upakovka"></span>
<span><input class="vel_sum_upakovkametrov" name="TOTALMETERS" readonly>м<sup>2</sup></span></div>
</div>
</form>
</section>');
}
add_shortcode( '4cards','woo_calculator_content' );
我试图在我的产品页面的自定义字段中获取 PHP 中的输入数值。我写了以下代码。但现在我需要从我的自定义字段中获取价值并将其添加到 input name="PPRICE" value""
值上。
类似这样的
// display Fields
add_action( 'woocommerce_product_options_general_product_data',__NAMESPACE__.'\woo_add_custom_general_fields' );
function woo_add_custom_general_fields() {
global $woocommerce,$post;
echo '<div class="options_group">';
// Number Field
woocommerce_wp_text_input(
array(
'id' => '_number_field','label' => __( 'м<sup>2</sup> в упаковке','woocommerce' ),'placeholder' => '','description' => __( 'Enter the custom value here.','type' => 'number','custom_attributes' => array(
'step' => 'any','min' => '0'
)
)
);
?>
<?PHP
echo '</div>';
}
// Save Fields
add_action( 'woocommerce_process_product_Meta',__NAMESPACE__.'woo_add_custom_general_fields_save' );
function woo_add_custom_general_fields_save( $post_id ){
// Number Field
$woocommerce_number_field = $_POST['_number_field'];
if( !empty( $woocommerce_number_field ) )
update_post_Meta( $post_id,'_number_field',esc_attr( $woocommerce_number_field ) );
}
// Вывод описания сколько в упаковке
add_action( 'woocommerce_before_add_to_cart_form','production_time',11 );
function production_time() {
global $product;
$woocommerce_number_field =$product->get_Meta('_number_field');
if( has_term( ['laminat'],'product_cat' ) ) {
echo '<div class="vel_costpack_hide"><p class="ri ri-clock">' . sprintf( __( ' Товар продается упаковками. В упаковке: %s',$woocommerce_number_field,__( 'м<sup>2</sup>','woocommerce' )) . '</p></div>';
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)