2016-06-16 28 views
-1

Ich muss einen Shortcode erstellen, der den Verkaufsprozentsatz eines Produkts zum Verkauf im Woocommerce-System anzeigen.Erstellen Sie eine Schrittzahl, die ein individuelles Element "Verkaufsprozentsatz" für woocommerce anzeigen

Ich habe diesen Code in function.php meinem Thema den Prozentsatz nach Preis angezeigt und es funktioniert gut:

// Add save percent next to sale item prices. 
add_filter('woocommerce_sale_price_html', 'woocommerce_custom_sales_price', 10, 2); 
function woocommerce_custom_sales_price($price, $product) { 
    $percentage = round((($product->regular_price - $product->sale_price)/$product->regular_price) * 100); 
    return $price . sprintf(__(' Save %s', 'woocommerce'), $percentage . '%'); 
} 

jetzt habe ich versucht, es zu bearbeiten, um eine neue Kurzwahlnummer zu erhalten, aber ohne Ergebnisse:

// Add save percent next to sale item prices. 
add_shortcode('sale_percentage', 'sale_percentage_shortcode'); 
function sale_percentage_shortcode($price, $product) { 
    $percentage = round((($product->regular_price - $product->sale_price)/$product->regular_price) * 100); 
    return "<span>Meno $percentage %</span>"; 
} 

alle Werte 0 und ich einige Warnmeldungen wie folgt aus: Warning: Division by zero in /web/htdocs/www.domain.com/home/wp-content/themes/theme/functions.php auf Linie 1518

Wie kann ich das beheben?

Antwort

0
// Add Shortcode 
function get_sale_price($atts) { 
if(function_exists('get_product')){ 

    $sale_price = get_post_meta(get_the_ID(), '_sale_price', true); 
    $regular_price = get_post_meta(get_the_ID(), '_regular_price', true); 
    $percentage = round((($regular_price - $sale_price)/$regular_price) * 100); 
    return 'Meno' . $percentage.'%'; 
    } 
} 
add_shortcode('get_sale_price', 'get_sale_price'); 

mit der Verwendung dieses Codes gelöst, auch wenn es langsam ist