Respuestas:
Los productos en WooCommerce son un tipo de publicación personalizada, por lo que esto debería funcionar:
$url = get_permalink( $product_id );
Puede tratar eso $product_id
como un postID (eso es lo que es), para que pueda usarlo con otras funciones normales de WP, como:
echo '<a href="'.get_permalink($product_id).'">'.get_the_title($product_id).'</a>';
add_to_cart_url()
hace lo que pedí arriba.