私のスクリプトの結果は、私が期待していたもの以外のものを作り出しているようで、何回か試してみるとわかりません。URLパラメータの問題で製品属性の選択値を取得する
このpageには、メタル&リングサイズを選択し、次に下のボタンを押します。おそらく私のPHPスクリプトは、選択された値を次のページのURLに取り込んでいるようですが、それは私が望むものを正確に与えていないようです。場合によっては元に戻って再選択すると機能することがあります。
提出する前にドロップダウンで選択したものがすべて選択されているようです。たとえば、私はプラチナを選択し、ローズゴールドに変更します。結果のURLには両方のメタルが表示されます。これは本当に奇妙です。
マイ期待される成果:http://test.ascension.systems/booking-appointments/?productid=2105&productsku=&metal=RoseGold&ringsize=14
現在の結果:http://test.ascension.systems/booking-appointments/?productid=2105&productsku=&metal=Rose%20Gold&ringsize=14&metal=Rose%20Gold&ringsize=11
私のPHPスクリプト(スクリプトは底部付近にある):
// Add a custom button in Single product pages
add_action('woocommerce_single_product_summary', 'replacing_template_single_add_to_cart', 31, 0);
function replacing_template_single_add_to_cart() {
global $product;
$product_id = $product->get_id();
$sku = $product->get_sku();
// Set below the page ID, your button text and link parameters to pass in url
$Pickerpage_id = 2100; //Ring Picker Page
$Bookpage_id = 1277; //Booking Page
$SPPbutton_text = __('Choose your Ring Setting', 'woocommerce');
$Ringbutton_text = __('Make an Appointment Now', 'woocommerce');
$SPPlink = get_permalink($Pickerpage_id) . '?productid=' . $product_id . '&productsku=' . $sku;
//$Ringlink = get_permalink($Bookpage_id) . '?productid=' . $product_id . '&productsku=' . $sku;
$Ringlink = get_permalink($Bookpage_id) . '?productid=' . $product_id . '&productsku=' . $sku;
$terms = get_the_terms($product->ID, 'product_cat');
if (has_term('Ring Setting', 'product_cat')) {
echo '<a href="'.$Ringlink.'" class="book-now button">'.$Ringbutton_text.'</a>';
} else {
echo '<a href="'.$SPPlink.'" class="ring button">'.$SPPbutton_text.'</a>';
}
?>
<script>
jQuery(document).ready(function($) {
$('select').blur(function(){
selectedValue = $('select#metal option:checked').val();
ringValue = $('select#ring-size option:checked').val();
hrefAttribute = $('a.book-now').attr("href");
$('a.book-now').attr("href", hrefAttribute+'&metal='+selectedValue+'&ringsize='+ringValue);
});
});
</script>
<?php
}
hrefプロパティにはURL全体が含まれています – B68C