我正在尝试在插件中获取产品重量,以将其显示在单独输入框中的边栏上.但是我无法获得产品的重量.
请看一下我的代码,并帮助我从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');
}
?>
谢谢.
解决方法:
我已经测试了您的代码,并且对这一部分做了一些更改,以获取更多信息:
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>';
}
这已经过测试并且可以工作.