2017-11-28 13 views
1

現在、この機能を使用して、特定のカテゴリにある単一商品ページの[カートに追加]ボタンを変更します。サムネイルの下にあるショップページの「カートに追加」ボタンも変更したいと思います。どんな助けでも大歓迎です。この機能を変更して、ショップページの[カートに追加]ボタンを変更するには

// Display Auction Link When 'auction' is in the category 
function so_43372512_maybe_show_auction_link(){ 
if(has_term('auction', 'product_cat')) { 
    echo ' <style type="text/css"> 
       .woocommerce div.product form.cart, .woocommerce div.product p.cart { 
       display:none ; } 
       .woocommerce div.product p.price, .woocommerce div.product span.price { 
       display:none ; } 
       .woocommerce div.product p.stock { 
       display:none ; } 
       .product_meta { 
       margin-top:20px; 
       } 
      </style>'; 
    echo '<p>Click This Button To View The Lot   </p>'; 
    global $product; 
    $skusearch = $product->get_sku(); 
    echo '<a id="auction" style="font-size:100%;color:#fff;padding:.618em 1em;border-radius:3px;background-color:#ed1c24;font-weight:700;" href="https://www.wirebids.com/search?q=' . $skusearch . '&open_closed=open" target="blank">' . __ ('On Auction Now!', 'your-plugin') . '</a>'; 
} 
} 
add_action('woocommerce_single_product_summary', 
'so_43372512_maybe_show_auction_link', 35); 

答えて

1

下記のカスタム 'オークションナウ!'ボタンをクリックすると、カートに追加ボタンが表示されます。ボタン、私も完全にだけではなく「オークション」の製品カテゴリのため、CSSでそれらを隠して、テンプレート「価格」と「買い物かごに入れる」ボタンを削除し、あなたのコードを再検討している...あまりにも

を製品価格を隠し...

コード:

// Remove the price on archive pages (like shop) for 'auction' product category 
add_action('woocommerce_after_shop_loop_item_title', 'remove_price_from_archives', 9); 
function remove_price_from_archives(){ 
    global $product, $post; 

    // Only for 'auction' product category 
    if (has_term('clothing', 'product_cat')) 
     remove_action('woocommerce_after_shop_loop_item_title', 'woocommerce_template_loop_price', 10); 
} 

// Replace add to cart button on archive pages (like shop) for 'auction' product category 
add_action('woocommerce_after_shop_loop_item', 'replace_add_to_cart_button_in_archives', 9); 
function replace_add_to_cart_button_in_archives() { 
    global $product, $post; 

    // Only for 'auction' product category 
    if (! has_term('clothing', 'product_cat')) return; 

    // remove add to cart button 
    remove_action('woocommerce_after_shop_loop_item', 'woocommerce_template_loop_add_to_cart', 10); 

    $skusearch = $product->get_sku(); 
    $style = 'style="font-size:100%;color:#fff;padding:.618em 1em;border-radius:3px;background-color:#ed1c24;font-weight:700;"'; 
    $href = 'href="https://www.wirebids.com/search?q=' . $skusearch . '&open_closed=open"'; 
    echo '<div style="margin-top:24px;"> 
     <a '.$href.' id="auction" '.$style.' target="blank">' . __ ('On Auction Now!', 'your-plugin') . '</a> 
    </div>'; 
} 

// Remove the displayed price and add-to-cart button on single product pages for 'auction' product category 
// Replace add to cart by your custom "On Auction Now!" button 
add_action('woocommerce_single_product_summary', 'remove_the_displayed_price_from_variable_products', 9); 
function remove_the_displayed_price_from_variable_products() { 
    global $product, $post; 

    // Only for 'auction' product category 
    if (has_term('clothing', 'product_cat')){ 
     // remove product price 
     remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_price', 10); 
     // remove add-to-cart button 
     remove_action('woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30); 
     // Add your custom "On Auction Now!" button 
     add_action('woocommerce_single_product_summary', 'replace_add_to_cart_by_auction', 30); 
    } 
} 

// This function displays your custom button replacement in single product pages 
function replace_add_to_cart_by_auction(){ 
    global $product; 

    $skusearch = $product->get_sku(); 
    $style = 'style="font-size:100%;color:#fff;padding:.618em 1em;border-radius:3px;background-color:#ed1c24;font-weight:700;"'; 
    $href = 'href="https://www.wirebids.com/search?q=' . $skusearch . '&open_closed=open"'; 

    echo '<p>Click This Button To View The Lot</p> 
    <a '.$href.' id="auction" '.$style.' target="blank">' . __ ('On Auction Now!', 'your-plugin') . '</a>'; 
} 

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

このコードはテスト済みであり、動作します。

+0

私には1つの問題しかありません。 http://boggsequipment.com/product-category/used-products/これは私がこのコードを使用しているウェブサイトです。何らかの理由で、最初のオークションアイテムの後に、この最初のアイテムの後のアイテムには、「もっと読む」リンクが戻ってくることはありません。それは、すべてのショップページのケースであるようです。あなたの考えを聞かせてください。それ以外は、完璧に動作します。 – hippocoder

+1

問題はウェブサイト上の他のコードであり、Loicのコードに問題はありませんでした。 – hippocoder

関連する問題