2017-09-19 3 views
3

Woocommerceでは、ドロップダウンメニューの[カートを見る]と[チェックアウト]リンクのURLを変更して、ホームページ?WooCommerceミニカートウィジェットのカートとチェックアウトボタンのリンクを変更

「カート」と「チェックアウト」ページがセットアップされていますが、これらはリンクされていません。

私はこれらのページをURLで直接見ることができます。 http://mysite/carthttp://mysite/checkout

enter image description here

答えて

2

minicartボタンリンクは常に正しいカートおよびチェックアウトページを指すよう問題は、どこかのテーマ(またはプラグインで)とがあるようです。

minicartボタンが(カート/ミニcart.php WooCommerceテンプレート内)woocommerce_widget_shopping_cart_buttonsアクションフックに引っ掛けられています。 HERE on includes/wc-template-hooks.phpコアファイルの詳細が見つかります。ボタンを表示している2 functionsが呼び出されます。

まずあなたがWP 設定>パーマリンクに行く、WordPressのパーマリンクをリフレッシュしてみてください:「保存」に
だけでページの最後クリックするだけで。カートを空にして、もう一度試して何かが変わったかどうか確認してください。

以下のコードでは、最初に元のボタンを削除して、リンクをカスタマイズしたボタンと同じものに置き換えます。それぞれについて、あなたは(変更をチェックするために、単にテスト目的のために、私は最後に(リンク?id=1に追加されている))、ニーズの足へのリンクを変更することができます。

add_action('woocommerce_widget_shopping_cart_buttons', function(){ 
    // Removing Buttons 
    remove_action('woocommerce_widget_shopping_cart_buttons', 'woocommerce_widget_shopping_cart_button_view_cart', 10); 
    remove_action('woocommerce_widget_shopping_cart_buttons', 'woocommerce_widget_shopping_cart_proceed_to_checkout', 20); 

    // Adding customized Buttons 
    add_action('woocommerce_widget_shopping_cart_buttons', 'custom_widget_shopping_cart_button_view_cart', 10); 
    add_action('woocommerce_widget_shopping_cart_buttons', 'custom_widget_shopping_cart_proceed_to_checkout', 20); 
}, 1); 

// Custom cart button 
function custom_widget_shopping_cart_button_view_cart() { 
    $original_link = wc_get_cart_url(); 
    $custom_link = home_url('/cart/?id=1'); // HERE replacing cart link 
    echo '<a href="' . esc_url($custom_link) . '" class="button wc-forward">' . esc_html__('View cart', 'woocommerce') . '</a>'; 
} 

// Custom Checkout button 
function custom_widget_shopping_cart_proceed_to_checkout() { 
    $original_link = wc_get_checkout_url(); 
    $custom_link = home_url('/checkout/?id=1'); // HERE replacing checkout link 
    echo '<a href="' . esc_url($custom_link) . '" class="button checkout wc-forward">' . esc_html__('Checkout', 'woocommerce') . '</a>'; 
} 

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

すべてのコードは、Woocommerce 3+でテストされ、動作します。

+0

Permalinksを保存すると問題が解決しました。ありがとう@loictheaztec –

関連する問題