Php Woocommerce:显示可变价格,而不是“可变价格”;从「;价格
我已经找了很长一段时间了,我找不到任何解决办法 我正在寻找一种在“发件人:”价格字段中显示产品变化价格的方法,以便在产品页面上只显示一个价格 我试过这个:Php Woocommerce:显示可变价格,而不是“可变价格”;从「;价格,php,wordpress,woocommerce,Php,Wordpress,Woocommerce,我已经找了很长一段时间了,我找不到任何解决办法 我正在寻找一种在“发件人:”价格字段中显示产品变化价格的方法,以便在产品页面上只显示一个价格 我试过这个: function woocommerce_template_single_price() { global $product; if ( ! $product->is_type('variable') ) { woocommerce_get_template( 'single-product/price.php' ); }}
function woocommerce_template_single_price() {
global $product;
if ( ! $product->is_type('variable') ) {
woocommerce_get_template( 'single-product/price.php' );
}}
但这对我不起作用,当选择不同的产品时,价格应该会动态变化。有什么想法吗?添加动作('woocommerce'u before'u single'u product','check'u if'u variable'u first');
add_action( 'woocommerce_before_single_product', 'check_if_variable_first' );
function check_if_variable_first(){
if ( is_product() ) {
global $post;
$product = wc_get_product( $post->ID );
if ( $product->is_type( 'variable' ) ) {
// removing the price of variable products
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 );
// Change location of
add_action( 'woocommerce_single_product_summary', 'custom_wc_template_single_price', 10 );
function custom_wc_template_single_price(){
global $product;
// Variable product only
if($product->is_type('variable')):
// Main Price
$prices = array( $product->get_variation_price( 'min', true ), $product->get_variation_price( 'max', true ) );
$price = $prices[0] !== $prices[1] ? sprintf( __( 'From: %1$s', 'woocommerce' ), wc_price( $prices[0] ) ) : wc_price( $prices[0] );
// Sale Price
$prices = array( $product->get_variation_regular_price( 'min', true ), $product->get_variation_regular_price( 'max', true ) );
sort( $prices );
$saleprice = $prices[0] !== $prices[1] ? sprintf( __( 'From: %1$s', 'woocommerce' ), wc_price( $prices[0] ) ) : wc_price( $prices[0] );
if ( $price !== $saleprice && $product->is_on_sale() ) {
$price = '<del>' . $saleprice . $product->get_price_suffix() . '</del> <ins>' . $price . $product->get_price_suffix() . '</ins>';
}
?>
<style>
div.woocommerce-variation-price,
div.woocommerce-variation-availability,
div.hidden-variable-price {
height: 0px !important;
overflow:hidden;
position:relative;
line-height: 0px !important;
font-size: 0% !important;
}
</style>
<script>
jQuery(document).ready(function($) {
$('select').blur( function(){
if( '' != $('input.variation_id').val() ){
$('p.price').html($('div.woocommerce-variation-price > span.price').html()).append('<p class="availability">'+$('div.woocommerce-variation-availability').html()+'</p>');
console.log($('input.variation_id').val());
} else {
$('p.price').html($('div.hidden-variable-price').html());
if($('p.availability'))
$('p.availability').remove();
console.log('NULL');
}
});
});
</script>
<?php
echo '<p class="price">'.$price.'</p>
<div class="hidden-variable-price" >'.$price.'</div>';
endif;
}
}
}
}
函数检查\u如果变量\u first(){
if(is_product()){
全球$员额;
$product=wc\U get\U product($post->ID);
如果($product->is_类型('variable')){
//消除可变产品的价格
删除行动('woocommerce\u single\u product\u summary'、'woocommerce\u template\u single\u price',10);
//更改
添加行动('woocommerce\u single\u product\u summary'、'custom\u wc\u template\u single\u price',10);
函数自定义\u wc\u模板\u单个\u价格(){
全球$产品;
//仅可变产品
如果($product->is_类型('variable'):
//主要价格
$prices=array($product->get_variation_price('min',true),$product->get_variation_price('max',true));
$price=$prices[0]!=$prices[1]?sprintf('From:%1$s','woocommerce'),wc_prices($prices[0]):wc_prices($prices[0]);
//销售价格
$prices=array($product->get_variation_regular_prices('min',true),$product->get_variation_regular_prices('max',true));
排序(价格);
$saleprice=$prices[0]!=$prices[1]?sprintf('From:%1$s','woocommerce'),wc_prices($prices[0]):wc_prices($prices[0]);
如果($price!=$saleprice&&$product->正在销售()){
$price='.$saleprice.$product->get_price_suffix()。$price.$product->get_price_suffix()。';
}
?>
商业-变化-价格部门,
商业-变化-可用性分部,
部门隐藏-可变价格{
高度:0px!重要;
溢出:隐藏;
位置:相对位置;
线高:0px!重要;
字体大小:0%!重要;
}
jQuery(文档).ready(函数($){
$('select').blur(函数(){
if(“”!=$('input.variation_id').val()){
$('p.price').html($('div.woocommerce-variation-price>span.price').html()).append(''+$('div.woocommerce-variation-availability').html()+'
');
log($('input.variation_id').val());
}否则{
$('p.price').html($('div.hidden-variable-price').html());
如果($('p.availability'))
$('p.availability').remove();
log('NULL');
}
});
});
add_action('woocommerce_在单个产品之前,'check_if_variable_first');
函数检查\u如果变量\u first(){
if(is_product()){
全球$员额;
$product=wc\U get\U product($post->ID);
如果($product->is_类型('variable')){
//消除可变产品的价格
删除行动('woocommerce\u single\u product\u summary'、'woocommerce\u template\u single\u price',10);
//更改
添加行动('woocommerce\u single\u product\u summary'、'custom\u wc\u template\u single\u price',10);
函数自定义\u wc\u模板\u单个\u价格(){
全球$产品;
//仅可变产品
如果($product->is_类型('variable'):
//主要价格
$prices=array($product->get_variation_price('min',true),$product->get_variation_price('max',true));
$price=$prices[0]!=$prices[1]?sprintf('From:%1$s','woocommerce'),wc_prices($prices[0]):wc_prices($prices[0]);
//销售价格
$prices=array($product->get_variation_regular_prices('min',true),$product->get_variation_regular_prices('max',true));
排序(价格);
$saleprice=$prices[0]!=$prices[1]?sprintf('From:%1$s','woocommerce'),wc_prices($prices[0]):wc_prices($prices[0]);
如果($price!=$saleprice&&$product->正在销售()){
$price='.$saleprice.$product->get_price_suffix()。$price.$product->get_price_suffix()。';
}
?>
商业-变化-价格部门,
商业-变化-可用性分部,
部门隐藏-可变价格{
高度:0px!重要;
溢出:隐藏;
位置:相对位置;
线高:0px!重要;
字体大小:0%!重要;
}
jQuery(文档).ready(函数($){
$('select').blur(函数(){
if(“”!=$('input.variation_id').val()){
$('p.price').html($('div.woocommerce-variation-price>span.price').html()).append(''+$('div.woocommerce-variation-availability').html()+'
');
log($('input.variation_id').val());
}否则{
$('p.price').html($('div.hidden-variable-price').html());
如果($('p.availability'))
$('p.availability').remove();
log('NULL');
}
});
});
不幸的是,没有,有一种方法可以获得每个产品变量的价格,但它需要PHP技能,而我没有。我通过CSS将变量价格移动到起始价格的顶部来实现。不幸的是,没有,有一种方法可以获得每个产品变量的价格,但它需要PHP技能,而我没有。我设法做到了现在通过将变体价格移到起始价格之上来使用CSS。虽然此代码片段可能是解决方案,但包含解释确实有助于提高您的文章质量。请记住,您将在将来回答读者的问题,而这些人可能不知道您的代码建议的原因。代码显示s用户:se的价格是多少