2017-10-06 6 views
1

를 가져옵니다. 그것들은 내 제품 페이지에서 선택 항목을 드롭 다운하는 것과 같은 "변형"입니다.나는, "금속"와 "반지 사이즈"를 추가 한 내 woocommerce 단일 제품 페이지에 두 개의 속성이 WooCommerce 변수 제품 속성 선택한 값

내가 내 버튼의 클릭에 할 수 있도록하려면, 나는 잡아 선택된 값 할 수있을 내 URL 매개 변수에 넣을 수 있습니다.

내가 잡고있는 값이 정확하지 않은 부분까지 모든 것을 해결했다.

$metal = $product->get_attribute('Metal'); 

http://example.com/?metal=18K%20White%20Gold%20|%2018K%20Yellow%20Gold%20|%20Rose%20Gold%20|%20Platinum 

난 그냥 드롭 다운 메뉴에서 선택한 무엇을 원하는 ...

는 는

지금까지이 시도했지만 그것은 단지 나에게이 가능한 값/선택이 아닌 하나의 선택된 값을 속성의 목록을주고있다 , 다음과 같이 입력하십시오.

http://example.com/?metal=Platinum 
+0

, 방금 그 모두 함께하기 때문에 PHP를 통해하고 싶은 ... 내가 드롭 다운에서 선택한 값은 저장 또는 "서버"로 될 것이라고 생각하기 때문에 할 확실하지 임 당신은 "약속 버튼을 만들"누르십시오. 드롭 다운 버튼을 "에코"하는 방법이 있습니까? 그래서 PHP에서 이것을 할 수 있습니까? 선택 항목은 응답 적 이미지 및 가격을 변경해야하기 때문에하지만 ... – pkmangg

답변

1

다음은 약간의 사용자 정의가 필요한 코드 예제입니다. 이 코드는 것입니다 : 같은 사용자 정의 HREF 값 (테스트 목적)

  • 디스플레이 일시적으로 사용자 정의 버튼 :
    home-url/?metal= ...
  • 이 "금속"에서 선택한 가치를 얻을 수 (home-url 귀하의 웹 사이트의 URL입니다) 버튼 URL에 추가합니다. 어떤 플러그인 파일도

    add_filter('woocommerce_single_variation', 'get_variation_selectected_value', 25); 
    function get_variation_selectected_value() { 
        global $product; 
    
        // Display button (Just for testing purpose) 
        // You can remove or comment the line of code below … 
        // But you need to set your url like: http://example.com/?metal= 
        echo '<br /><a href="'.home_url("/?metal=").'" class="book-now button">'. __('Make an Appointment Now') .'</a>'; 
    
        // The script 
        ?> 
        <script> 
        jQuery(document).ready(function($) { 
         // Get the default value 
         var selectedValue = $('select#metal option:checked').val(), 
          hrefAttribute = $('a.book-now').attr("href"); 
          $('a.book-now').attr("href", hrefAttribute+selectedValue); 
    
         // Display on browser console (for test) 
         console.log($('a.book-now').attr("href")); 
    
         // Get the live selected value 
         $('select#metal').blur(function(){ 
          selectedValue = $('select#metal option:checked').val(); 
          hrefAttribute = $('a.book-now').attr("href"); 
          $('a.book-now').attr("href", hrefAttribute+selectedValue); 
    
          // Display on browser console (for test) 
          console.log($('a.book-now').attr("href")); 
         }); 
        }); 
        </script> 
        <?php 
    } 
    

    코드 활성 자식 테마 (또는 테마)의 function.php 파일에 간다 나 : 여기

는 코드입니다.

코드는 (다른 속성) 테스트를 그냥 작동하고있다. 앞에서 코드를 사용

+0

감사합니다, 완벽하게 작동의 꽤 어려운 것 같아요! URL에 반지 크기 드롭 다운을 추가한다면 어떻게 될까요? 나는 이것으로 바꾸려고 노력했다. 그리고 그것은 작동하지 않는다. "반지 크기"가 잘못 입력 되었기 때문에 (공백) $ ('select # ring_size') blur (function() { selectedValue = $ ('select # ring_size 옵션 : 선택됨') val(); hrefAttribute ("href", hrefAttribute + '& ring ='+ selectedValue); }) = $ ('a.book-now'). 당신이 라이브 링크를 제거한 @pkmangg – pkmangg

+0

... 그래서 나도 몰라 – LoicTheAztec

+0

나는 그 "반지 크기"를 발견했다. 이제는 직접 해보려고했는데 http://example.com/?metal=platinum&ringsize=3이 필요합니다. 이게 내가 한 일이지만 그 두 가지 옵션을 모두 선택하면 이상한 URL을 제공합니다 "http://example.com/?metal=Platinum&ringsize=&metal=Platinum&ringsize=13" – pkmangg