更新定義されたために製品が(カートに追加されたときに顧客をリダイレクトするカスタム関数を使用して
woocommerce_add_to_cart_redirect
フィルターフックに引っかけ(それが定義されている製品のカテゴリは右カスタムURL)、 製品カテゴリ(複数可)):
add_filter('woocommerce_add_to_cart_redirect', 'conditional_add_to_cart_redirection', 99, 1);
function conditional_add_to_cart_redirection($url) {
// ==> HERE define your product category or categories in the array
$category = array('clothing', 'music');
if (! isset($_REQUEST['add-to-cart'])) return $url; // Very important!
// When it's available (on add to cart click), get the product ID
$product_id = absint($_REQUEST['add-to-cart']);
// Get the custom url from product post meta data
$custom_url = get_post_meta($product_id, '_rv_woo_product_custom_redirect_url', true);
// Exit to normal, If the custom URL redirection is not set in the product
if(empty($custom_url)) return $url;
// Custom redirection only for your defined product category(ies)
if(has_term($category, 'product_cat', $product_id)){
// Clear add to cart notice (with the cart link).
wc_clear_notices();
$url = $custom_url; // Updated here
}
return $url;
}
コードがfunction.php Fiの中に入りますあなたのアクティブな子供のテーマ(またはテーマ)のファイル、またはすべてのプラグインファイルに保存されます。
コードがWoocommerce 3+上でテストし、お店やアーカイブのページでカートに追加AJAXでは動作しません
がカートのリダイレクトに追加されて動作します。無効にAJAXを追加ツーカートショップやアーカイブページ(WC設定>製品>ディスプレイ)に
- :だから、お店やアーカイブページのためにその2つのオプションの間で選択するを持つことになります。
- 製品にリンクされているボタンで、カートに追加]ボタンを交換するには、次のコードを追加します。
この第二のオプションは、(これが唯一のいくつかの製品に条件付きであるとして)最高のようだ:
-919- コードはアクティブな子テーマ(またはテーマ)のfunction.phpファイル、またはすべてのプラグインファイルに入ります。
コードは、製品を完全に購入されることを意図していない場合、私はwoocommerce_is_purchasable
をフィルタリングし、自分の連絡先にボタンスタイルのリンクをカートに追加]ボタンを置き換えますWoocommerce 3+でテストおよび
あなたのコードは、あなたがしたいことと比べて何をしていますか?また、リダイレクトは、製品がカートに追加された後に発生すると考えられます。まだそれをカートに追加したいですか?それは連絡先ページに向けてリダイレクトするというあなたの欲望とは異なると思われます。 – helgatheviking
@helgathevikingいいえ特別注文になるカートに追加したくない場合 –
その場合、リダイレクトは間違ったアプローチだと思います。 – helgatheviking