2017-10-04 6 views
4

最近、私はfunctions.phpの子テーマファイルにコードスニペットを追加しました。このタスクは、ユーザーをクリック製品に導くすべての製品の下に「続きを読む」ボタンを表示することですページ。 product-idリンクが機能していません。ここでは、コードは次のとおりです。製品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>'); 
} 

今、それはただの製品のリンクにリダイレクトされません(クラスなし)ボタンのテキストを示しています。私はそれにもプライマリボタンを追加したいと思います。

+0

あなたはあなたのサイトを私たちに見せることができますか?どのように出力が表示されます –

+0

質問はシンプルな男だった!私はアーカイブ製品ページからカートに追加ボタンを削除しました。今、各製品ページにリダイレクトすると思われるこの新しい「Read More」ボタンが追加されました。だから、それを行う方法は、 "Read More"とプライマリボタンクラスにproduct-idリンクを置くことですか?ここにその実装のリンクがあります:http://northgolf.eu/shop/ –

答えて

2

コードにはさまざまなエラーがあり、あなたの質問はあまり明確ではありません。だから、次のことができます。

1)()は、既存のアドオンに-カートボタンの下の追加ボタンを追加するには:

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>'; 
} 

コードは、あなたのアクティブな子テーマ(またはテーマのfunction.phpファイルになります)または任意のプラグインファイルでも使用できます。

テスト済みで動作します。


2)woocommerce_loop_add_to_cart_linkフィルターフックをこのように使用してカートに追加]ボタンを置き換えます。また、

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>'; 
} 

コードは、あなたのアクティブな子テーマ(またはテーマのfunction.phpファイルになります)、または任意のプラグインファイルに保存します。

テスト済みで動作します。

+0

彼はカートに追加ボタンを交換したくありません...彼はすべての製品の後に新しいボタンを追加する必要があります –

+0

@TemaniAfif神のみ彼が本当に望んでいるものを知っている! – LoicTheAztec

+0

Mr. @ LoicTheAztecソリューションは魅力的に機能します。どうもありがとうございました :) –

関連する問題