tag son name las funciones cuales all php wordpress woocommerce

php - son - WooCommerce devuelve el objeto de producto por ID



get tag name wordpress (4)

Estoy creando un tema personalizado para woocommerce y necesito poder crear una mini exhibición de producto. Estoy teniendo problemas para encontrar documentación en la API de woocommerce. Tengo una lista delimitada por comas de ID de productos que necesito para recorrer en iteración y mostrar una mini pantalla personalizada del producto para cada secuencia.

$key_values = get_post_custom_values(''rel_products_ids''); //get comma delimited list from product $rel_product_ids = explode(",", trim($key_values, ",")); // create array of just the product ids foreach ( $rel_product_ids as $pid ) { //sequentially get each id and do something with it $loop = new WP_Query( array( ''post__in'' => $pid ) ); // also tried ... //$loop = new WP_Query( array( ''ID'' => $pid ) ); while ( $loop->have_posts() ) : $loop->the_post(); $_product = &new WC_Product( $loop->post->ID ); //do stuff here I have stripped the html in favor of getting to the meat of the issue woocommerce_show_product_sale_flash( $post, $_product ); if (has_post_thumbnail( $loop->post->ID )) echo get_the_post_thumbnail($loop->post->ID, ''shop_single''); get_permalink( $loop->post->ID ); the_title(); $_product->get_price_html(); endwhile; }

Cualquier ayuda sería apreciada.

Gracias,

Tim


Muy bien, merezco ser estrangulado. Definitivamente un RTM pero no para WooCommerce, para Wordpress. Solución encontrada debido a una cola JOLT (todos cola JOLT granizo).

TAREA: campo denominado ''related_product_ids'' agregado a un tipo de publicación personalizada. Por lo tanto, cuando se muestre la publicación, se mostrarán mini exhibiciones de productos con ella.

PROBLEMA: estaba teniendo problemas para obtener los múltiples ID devueltos a través de WP_Query.

SOLUCIÓN:

$related_id_list = get_post_custom_values(''related_product_ids''); // Get comma delimited list from current post $related_product_ids = explode(",", trim($related_id_list[0],'','')); // Return an array of the IDs ensure no empty array elements from extra commas $related_product_post_ids = array( ''post_type'' => ''product'', ''post__in'' => $related_product_ids, ''meta_query''=> array( array( ''key'' => ''_visibility'', ''value'' => array(''catalog'', ''visible''),''compare'' => ''IN'' ) ) ); // Query to get all product posts matching given IDs provided it is a published post $loop = new WP_Query( $related_posts ); // Execute query while ( $loop->have_posts() ) : $loop->the_post(); $_product = get_product( $loop->post->ID ); // Do stuff here to display your products endwhile;

Gracias por cualquiera que haya pasado algún tiempo en esto.

Tim


Otra forma fácil es usar la clase WC_Product_Factory y luego llamar a la función get_product (ID)

http://docs.woothemes.com/wc-apidocs/source-class-WC_Product_Factory.html#16-63

muestra:

// assuming the list of product IDs is are stored in an array called IDs; $_pf = new WC_Product_Factory(); foreach ($IDs as $id) { $_product = $_pf->get_product($id); // from here $_product will be a fully functional WC Product object, // you can use all functions as listed in their api }

Luego puede usar todas las llamadas de función que se enumeran en su api: http://docs.woothemes.com/wc-apidocs/class-WC_Product.html


Utilice este método:

$_product = wc_get_product( id );

Documentos API oficiales: wc_get_product


global $woocommerce; var_dump($woocommerce->customer->get_country()); foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) { $product = new WC_product($cart_item[''product_id'']); var_dump($product); }