Je travaille actuellement sur un thème WooCommerce et j'essaie d'ajouter une barre latérale à la page de détail du produit.
J'ai pu obtenir la barre latérale ajoutée (en particulier celle-ci: http://woocommerce.wp-a2z.org/oik_file/templatescontent-widget-product-php/ )
Maintenant, j'essaye de comprendre comment ajouter une classe "active" au produit actuellement sélectionné et je n'arrive pas à comprendre.
En d'autres termes, comment puis-je faire quelque chose dans le sens où si l'ID de produit actuel est égal à l'ID de produit dans la barre latérale, ajoutez class = "active" au li?
J'ai fait de nombreuses recherches et je n'ai rien trouvé d'utile, alors je me tourne vers vous.
Toute aide grandement appréciée !!
Mise à jour 2017:
global $product;
$id = $product->get_id();
Woocommerce n'aime pas que vous accédiez directement à ces variables. Cela éliminera tous les avertissements de woocommerce si votre wp_debug est vrai.
Si la requête n'a pas été modifiée par un plugin pour une raison quelconque, vous devriez pouvoir obtenir "l'identifiant" d'une seule page
global $post;
$id = $post->ID
OR
global $product;
$id = $product->id;
Récupérez l'ID de l'élément en cours dans la boucle WordPress.
echo get_the_ID();
fonctionne donc aussi pour l'identifiant du produit. #tested # woo-commerce
Enregistrez l'ID du produit actuel avant d'entrer dans votre boucle:
$current_product = $product->id;
Ensuite, dans votre boucle pour votre barre latérale, utilisez à nouveau $ product-> id pour comparer:
<li><a <? if ($product->id == $current_product) { echo "class='on'"; }?> href="<?=get_permalink();?>"><?=the_title();?></a></li>
vous pouvez interroger woocommerce par programmationvous pouvez même ajouter un produit à votre panier . Je suis sûr que vous pouvez comprendre comment interagir avec le panier woocommerce une fois que vous avez lu le code . comment interagir avec woocommerce cart par programme
==================================
<?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);
}
}
}
}