无法在WooCommerce中获得产品重量

时间:2016-10-06 20:16:51

标签: php wordpress woocommerce product hook-woocommerce

我正在尝试在我的插件中获取产品重量,以便在单独的输入框中显示在侧边栏上。但我无法获得产品重量。

请查看我的代码并帮助我从WooCommerce产品中获取产品重量:

<?php
/**
 * Plugin Name: Calculator
 * Plugin URI: http://wordpress.org/
 * Description: Calculate
 * Version: 1.0.0
 * Author: wtm
 * Author URI: http://wtynet.com
 */

if ( !defined( 'ABSPATH' ) ) exit; // Exit if accessed directly

if ( !in_array( 'woocommerce/woocommerce.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) ) ) return; // Check if WooCommerce is active

add_action( 'woocommerce_product_meta_end', 'showtest', 10 );
function showtest(){

$prweight = WC_Product::get_weight();
echo "<div style='border: 2px solid #43515f; padding: 10px; text-align:center;'>";

your_css_and_js();
echo "<input id= 'prweight' type='text' value='".$prweight."'>";

echo "</div>";

}

function your_css_and_js() {
wp_register_style('your_css_and_js', plugins_url('css/style.css',__FILE__ ));
wp_enqueue_style('your_css_and_js');
wp_register_script( 'your_css_and_js', plugins_url('js/script.js',__FILE__ ));
wp_enqueue_script('your_css_and_js');

}

?>

感谢。

1 个答案:

答案 0 :(得分:4)

我已经测试了你的代码,我已经改变了一点这一部分,以获得权重:

add_action( 'woocommerce_product_meta_end', 'showtest', 10 );

function showtest(){
    global $product;

    $prweight = $product->weight;
    // or
    // $prweight = $product->get_weight();

    echo '<div style="border: 2px solid #43515f; padding: 10px; text-align:center;">';

    your_css_and_js();
    echo '<input id="prweight" type="text" value="'.$prweight.'">';

    echo '</div>';
}

这是经过测试和运作的。