如何在Woocommerce中添加产品图像上的热销属性

时间:2014-10-27 18:13:22

标签: wordpress woocommerce

我想在产品图片上贴一个热贴纸,就像SALE一样。 所以我添加了一个功能,用于在SALE价格下方的添加产品页面中添加复选框。和它的工作正常,现在我想如果管理员检查热产品复选框,所以贴纸应显示在产品图像上。我有一个css类'热门产品'。如果管理员选中了热门产品复选框

,如何在产品图片上添加此课程

这是我在促销价下方添加复选框的功能。

/ Display Fields
add_action( 'woocommerce_product_options_general_product_data', 'woo_add_custom_general_field' );

// Save Fields
add_action( 'woocommerce_process_product_meta', 'woo_add_custom_general_fields_save' );


function woo_add_custom_general_field() {

 global $woocommerce, $post;

 echo '<div class="options_group">';

 // Checkbox
 woocommerce_wp_checkbox( 
array( 
'id'            => '_checkbox', 
'wrapper_class' => 'show_if_simple', 
'label'         => __('HOT Product', 'woocommerce' ), 
'description'   => __( 'Check for Hot Product', 'woocommerce' )
)
);

echo '</div>';

}

function woo_add_custom_general_fields_save( $post_id ){

  $woocommerce_checkbox = isset( $_POST['_checkbox'] ) ? 'yes' : 'no';
  update_post_meta( $post_id, '_checkbox', $woocommerce_checkbox );
}

1 个答案:

答案 0 :(得分:1)

你的上述工作正常。现在你需要在前端显示。 试试这段代码:

add_action('woocommerce_before_single_product_summary','custom_hot_product');
function custom_hot_product(){
  global $product;
  $is_hot = get_post_meta( $product->id, '_checkbox', true );
  if ( 'yes' == $is_hot ) {
    echo '<span class="hot-product"></span>';
  }
}

如果选中该复选框,则会为span添加hot-product。现在相应地设计它。