2017-10-04 37 views
4

J'ai récemment ajouté l'extrait de code à mon fichier de thème enfant functions.php dont la tâche est de faire écho un bouton "Lire la suite" sous tous les produits qui conduit l'utilisateur au produit click page. Le lien d'identification de produit ne fonctionne pas. Voici le code:produits bouton "lire plus" ne fonctionne pas dans le magasin woocommerce

/*-ADD NEW BUTTON THAT LINKS TO PRODUCT PAGE FOR EACH PRODUCT */ 

add_action('woocommerce_after_shop_loop_item','replace_add_to_cart'); 

function replace_add_to_cart() { 

global $product; 

$link = $product->get_permalink(); 

echo do_shortcode('<br><button link="' . esc_attr($link) . '">Read more</button>'); 
} 

En ce moment, il montre juste un texte du bouton (sans classe) qui ne redirige pas à tout lien produit. Je veux également ajouter le bouton principal.

+0

pouvez-vous nous montrer la pageo votre site? pour voir comment est la sortie –

+0

la question était simple les gars! J'ai supprimé le bouton Ajouter au panier de la page des produits d'archives. Maintenant, ajouté ce nouveau bouton "Lire la suite" qui suppose de rediriger vers chaque page de produit. Alors, comment le mettre le lien produit-id à cette "Lire la suite" et la classe de bouton primaire? Voici le lien de sa mise en œuvre: http://northgolf.eu/shop/ –

Répondre

2

Il y a beaucoup d'erreurs différentes dans votre code et votre question n'est pas si claire. Ainsi, vous pouvez:

1) Pour ajouter un bouton supplémentaire (ci-dessous ajouter à panier bouton existant):

add_action('woocommerce_after_shop_loop_item', 'replace_add_to_cart'); 
function replace_add_to_cart() { 
    global $product; 
    echo '<br><a class="button" href="' . esc_attr($product->get_permalink()) . '">' . __("Read more") . '</a>'; 
} 

Code va dans le fichier function.php de votre thème enfant actif (ou thème) ou aussi dans n'importe quel fichier plugin.

Testé et fonctionne.


2) Remplacer bouton ajouter au panier à l'aide du crochet filtre woocommerce_loop_add_to_cart_link cette façon:

add_filter('woocommerce_loop_add_to_cart_link', 'replace_loop_add_to_cart_button', 10, 2); 
function replace_loop_add_to_cart_button($button, $product ) { 
    return '<a class="button" href="' . $product->get_permalink() . '">' . __("Read more") . '</a>'; 
} 

Code va dans le fichier function.php de votre thème enfant actif (ou le thème) ou encore dans n'importe quel fichier plugin.

Testé et fonctionne.

+0

il ne veut pas remplacer le bouton Ajouter au panier ... il doit ajouter un nouveau bouton après tout le produit –

+0

@TemaniAfif Dieu seulement sait ce qu'il veut vraiment! – LoicTheAztec

+0

M. @LoicTheAztec Solution fonctionne comme un charme. Merci beaucoup :) –