woocommerce product page custom code code example
Example 1: woocommerce import product programmatically
function myCustomProduct($product_array)
{
if (!empty($product_array)):
foreach ($product_array as $product):
$product_id = wc_get_product_id_by_sku($product['sku']);
//no product exist with the given SKU so create one
if (!$product_id):
$post = [
'post_author' => '',
'post_content' => $product['content'],
'post_status' => "publish",
'post_title' => wp_strip_all_tags($product['title']),
'post_name' => $product['title'],
'post_parent' => '',
'post_type' => "product",
];
//Create Post
$product_id = wp_insert_post($post, $wp_error);
//set Product Category
wp_set_object_terms($product_id, $product['product_cat'], 'product_cat');
//set product type
wp_set_object_terms($product_id, 'simple', 'product_type');
update_post_meta($product_id, '_sku', $product['sku']);
update_post_meta($product_id, 'total_sales', '0');
//product found
else:
$post = [
'ID' => $product_id,
'post_title' => $product['title'],
'post_content' => $product['content'],
];
$post_id = wp_update_post($post, true);
// if (is_wp_error($post_id))
// {
// $errors = $post_id->get_error_messages();
// foreach ($errors as $error)
// {
// echo $error;
// }
// }
endif;
update_post_meta($product_id, '_visibility', 'visible');
update_post_meta($product_id, '_stock_status', 'instock');
update_post_meta($product_id, '_product_attributes', array());
update_post_meta($product_id, '_manage_stock', "yes");
update_post_meta($product_id, '_backorders', "no");
update_post_meta($product_id, '_stock', $product['qty']);
update_post_meta($product_id, '_price', $product['price']);
//update_post_meta($product_id, '_downloadable', 'yes');
//update_post_meta($product_id, '_virtual', 'yes');
//update_post_meta($product_id, '_regular_price', "1");
//update_post_meta($product_id, '_sale_price', "1");
//update_post_meta($product_id, '_purchase_note', "");
//update_post_meta($product_id, '_featured', "no");
//update_post_meta($product_id, '_weight', "");
//update_post_meta($product_id, '_length', "");
//update_post_meta($product_id, '_width', "");
//update_post_meta($product_id, '_height', "");
//update_post_meta($product_id, '_sale_price_dates_from', "");
//update_post_meta($product_id, '_sale_price_dates_to', "");
//update_post_meta($product_id, '_price', "1");
//update_post_meta($product_id, '_sold_individually', "");
endforeach;
endif;
}
Example 2: how to add custom divs to woocommerce product page
<li <?php wc_product_class( '', $product ); ?>>
<div class="col-md-5 offset-md-1">
<?php
/**
* Hook: woocommerce_before_shop_loop_item.
*
* @hooked woocommerce_template_loop_product_link_open - 10
*/
do_action( 'woocommerce_before_shop_loop_item' );
/**
* Hook: woocommerce_before_shop_loop_item_title.
*
* @hooked woocommerce_show_product_loop_sale_flash - 10
* @hooked woocommerce_template_loop_product_thumbnail - 10
*/
do_action( 'woocommerce_before_shop_loop_item_title' );
?>
</div>
<?php
/**
* Hook: woocommerce_shop_loop_item_title.
*
* @hooked woocommerce_template_loop_product_title - 10
*/
do_action( 'woocommerce_shop_loop_item_title' );
/**
* Hook: woocommerce_after_shop_loop_item_title.
*
* @hooked woocommerce_template_loop_rating - 5
* @hooked woocommerce_template_loop_price - 10
*/
do_action( 'woocommerce_after_shop_loop_item_title' );
/**
* Hook: woocommerce_after_shop_loop_item.
*
* @hooked woocommerce_template_loop_product_link_close - 5
* @hooked woocommerce_template_loop_add_to_cart - 10
*/
do_action( 'woocommerce_after_shop_loop_item' );
?>
</li>