Wordpress WooCommerce在产品变化旁边显示价格
我有一个产品的变化清单,但我想在旁边显示价格。这样,用户可以立即看到每个变体之间的价格差异 知道我的网站是多语言的,在WooCommerce中如何做到这一点Wordpress WooCommerce在产品变化旁边显示价格,wordpress,woocommerce,woothemes,Wordpress,Woocommerce,Woothemes,我有一个产品的变化清单,但我想在旁边显示价格。这样,用户可以立即看到每个变体之间的价格差异 知道我的网站是多语言的,在WooCommerce中如何做到这一点 谢谢大家! 请试试这个。我刚刚在最新的WordPress和WooCommerce中测试过。只需将其添加到函数文件中 add_filter( 'woocommerce_variation_option_name', 'display_price_in_variation_option_name' ); function display_pr
谢谢大家! 请试试这个。我刚刚在最新的WordPress和WooCommerce中测试过。只需将其添加到函数文件中
add_filter( 'woocommerce_variation_option_name', 'display_price_in_variation_option_name' );
function display_price_in_variation_option_name( $term ) {
global $wpdb, $product;
if ( empty( $term ) ) return $term;
if ( empty( $product->id ) ) return $term;
$result = $wpdb->get_col( "SELECT slug FROM {$wpdb->prefix}terms WHERE name = '$term'" );
$term_slug = ( !empty( $result ) ) ? $result[0] : $term;
$query = "SELECT postmeta.post_id AS product_id
FROM {$wpdb->prefix}postmeta AS postmeta
LEFT JOIN {$wpdb->prefix}posts AS products ON ( products.ID = postmeta.post_id )
WHERE postmeta.meta_key LIKE 'attribute_%'
AND postmeta.meta_value = '$term_slug'
AND products.post_parent = $product->id";
$variation_id = $wpdb->get_col( $query );
$parent = wp_get_post_parent_id( $variation_id[0] );
if ( $parent > 0 ) {
$_product = new WC_Product_Variation( $variation_id[0] );
return $term . ' (' . wp_kses( woocommerce_price( $_product->get_price() ), array() ) . ')';
}
return $term;
}
这确实适用于大多数情况,尽管在另一种语言中,$parent=wp\u get\u post\u parent\u id($variation\u id[0]);上有时会显示“Undefined offset:0”。。。有什么想法吗?(请参见:)现在您应该可以看到它不适用于Woocommerce 3.x。所有价格成为最后一个变动价格。