Show Products

Show Custom Product By ID

First way
<?php
global $product;
$product = wc_get_product($productsgrp["product_1_id"]);//$productsgrp["product_1_id"]
echo apply_filters(
'woocommerce_loop_add_to_cart_link', // WPCS: XSS ok.
sprintf(
'<a href="%s" data-quantity="%s" data-product_id="'.$productsgrp["product_1_id"].'" rel="nofollow" class="%s" %s>%s</a>',
esc_url( $product->add_to_cart_url() ),
esc_attr( isset( $args['quantity'] ) ? $args['quantity'] : 1 ),
esc_attr( isset( $args['class'] ) ? $args['class'] : 'button product_type_subscription product_type_simple add_to_cart_button ord-butn ajax_add_to_cart mt-3' ),
isset( $args['attributes'] ) ? wc_implode_html_attributes( $args['attributes'] ) : '',
esc_html( $product->add_to_cart_text() )
), $product, $args);
?>

Second way
global $product;
echo do_shortcode( '[add_to_cart id=405]' );

Third way
$product = wc_get_product(get_the_ID());
echo "<a href='".$product->add_to_cart_url()."'>add to cart</a>";

Get All Products

$products = wc_get_products( array( 'status' => 'publish', 'limit' => -1 ) );

foreach ( $products as $product ){ 
    echo  $product->get_status();  // Product status
    echo  $product->get_type();  // Product type
    echo  $product->get_id();    // Product ID
    echo  $product->get_title(); // Product title
    echo  $product->get_slug(); // Product slug
    echo  $product->get_price(); // Product price
    echo  $product->get_catalog_visibility(); // Product visibility
    echo  $product->get_stock_status(); // Product stock status
    // product date information
    echo $product->get_date_created()->date('Y-m-d H:i:s');
    echo $product->get_date_modified()->date('Y-m-d H:i:s');
}