titulo sirven shortcodes relacionados recientes que productos plugin para los lista las etiquetas destacados categorias cambiar wordpress woocommerce product

wordpress - sirven - shortcode woocommerce categorias



Woocommerce, obtenga la identificación actual del producto (6)

Actualmente estoy trabajando en un tema de WooCommerce e intento agregar una barra lateral a la página de detalles del producto.

He podido agregar la barra lateral (específicamente, esta: http://woocommerce.wp-a2z.org/oik_file/templatescontent-widget-product-php/ )

Ahora, estoy tratando de descubrir cómo agregar una clase de "activo" al producto seleccionado actualmente y parece que no puedo entenderlo.

En otras palabras, ¿cómo hago algo en la línea de si la identificación del producto actual es igual a la identificación del producto en la barra lateral agregar class = "active" a la li?

He realizado numerosas búsquedas y no he podido encontrar nada útil, así que voy a pasar aquí.

Cualquier ayuda muy apreciada !!


Actualización 2017:

global $product; $id = $product->get_id();

A Woocommerce no le gusta que accedas a esas variables directamente. Esto eliminará cualquier advertencia de woocommerce si su wp_debug es verdadero.


Desde WooCommerce 2.2 puede simplemente usar el Método wc_get_product . Como argumento, puede pasar la ID o simplemente dejarla vacía si ya está en el ciclo.

wc_get_product()->get_id();

O con 2 líneas

$product = wc_get_product(); $id = $product->get_id();


Guarde la identificación del producto actual antes de ingresar a su ciclo:

$current_product = $product->id;

Luego, en su bucle para su barra lateral, use $ product-> id nuevamente para comparar:

<li><a <? if ($product->id == $current_product) { echo "class=''on''"; }?> href="<?=get_permalink();?>"><?=the_title();?></a></li>


Recupere la ID del elemento actual en el bucle de WordPress.

echo get_the_ID();

por lo tanto, también funciona para la identificación del producto. # probado # woo-commerce


Si la consulta no ha sido modificada por un complemento por alguna razón, debería poder obtener el "id" de una sola página de producto a través de

global $post; $id = $post->ID

O

global $product; $id = $product->id;

EDITAR: a partir de WooCommerce 3.0 esto debe ser

global $product; $id = $product->get_id();


puede consultar woocommerce programáticamente, incluso puede agregar un producto a su carrito de compras. Estoy seguro de que puede descubrir cómo interactuar con el carrito de WooCommerce una vez que lea el código. Cómo interactuar con el carrito de WooCommerce programáticamente

====================================

<?php add_action(''wp_loaded'', ''add_product_to_cart''); function add_product_to_cart() { global $wpdb; if (!is_admin()) { $product_id = wc_get_product_id_by_sku(''L3-670115''); $found = false; if (is_user_logged_in()) { if (sizeof(WC()->cart->get_cart()) > 0) { foreach (WC()->cart->get_cart() as $cart_item_key => $values) { $_product = $values[''data'']; if ($_product->get_id() == $product_id) WC()->cart->remove_cart_item($cart_item_key); } } } else { if (sizeof(WC()->cart->get_cart()) > 0) { foreach (WC()->cart->get_cart() as $cart_item_key => $values) { $_product = $values[''data'']; if ($_product->id == $product_id) $found = true; } // if product not found, add it if (!$found) WC()->cart->add_to_cart($product_id); } else { // if no products in cart, add it WC()->cart->add_to_cart($product_id); } } } }