我创建了一个自定义插件,可以在 woocommerce 单个产品页面中动态显示自定义字段。字段显示、添加到购物车和添加到订单数据和电子邮件。但是,我尝试了好几天来添加一个没有运气的文件上传字段。该字段显示在前端,如:
add_action( 'woocommerce_before_add_to_cart_button', 'display_custom_fields' );
function display_custom_fields() {
?>
<p class="form-row validate-required" id="image" >
<span class="woocommerce-input-wrapper">
<label for="image" class=""><?php echo $stamp_welcome_text; ?> </label>
<input type="file" name="image" accept="image/*" >
</span>
</p>
<?php
}
Run Code Online (Sandbox Code Playgroud)
然后添加到购物车,如:
add_filter( 'woocommerce_add_cart_item_data', 'add_cart_item_data', 10,3 );
function add_cart_item_data( $cart_item_data, $product_id ) {
if ($_FILES['image'] ) {
require_once( ABSPATH . 'wp-admin/includes/image.php' );
require_once( ABSPATH . 'wp-admin/includes/file.php' );
require_once( ABSPATH . 'wp-admin/includes/media.php' );
$attachment_id = media_handle_upload( 'image', 0 );
if ( is_wp_error( $attachment_id ) AND $_FILES['image']['size'] > 0) …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 woocommerce 3.0.8 在函数内显示产品的可用性。
我的代码是:
global $product;
echo $product->get_availability();
Run Code Online (Sandbox Code Playgroud)
它只打印单词 Array 而没有其他内容。不应该起作用吗?
我不知道出了什么问题