2017-09-28 1 views
0

나는 환율을 결정하기 위해 구글 파이낸셜을 사용하는 워드 프레스 결제 프로세서 플러그인을 가지고있다. 그러나 구글 파이낸싱 대신 자기 자신의 exchage rate를 사용하고 싶다. 그 파일을 플러그인 지능, 나는플러그인 파일 변경하기

function convert_currency_live($from_Currency, $to_Currency, $amount) 
{ 
    $amount = urlencode($amount); 
    $from_Currency = trim(strtoupper(urlencode($from_Currency))); 
    $to_Currency = trim(strtoupper(urlencode($to_Currency))); 

    if ($from_Currency == "TRL") $from_Currency = "TRY"; // fix for Turkish Lyra 
    if ($from_Currency == "ZWD") $from_Currency = "ZWL"; // fix for Zimbabwe Dollar 
    if ($from_Currency == "RIAL") $from_Currency = "IRR"; // fix for Iranian Rial 

    $url = "https://finance.google.com/finance/converter?a=".$amount."&from=".$from_Currency."&to=".$to_Currency; 

    $ch = curl_init(); 
    curl_setopt ($ch, CURLOPT_URL, $url); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko"); 
    curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 20); 
    curl_setopt ($ch, CURLOPT_TIMEOUT, 20); 
    $res = curl_exec($ch); 
    curl_close($ch); 

    if ($res) 
    { 
     $data = explode('bld>', $res); 
     $data = explode($to_Currency, $data[1]); 
     return round($data[0], ($to_Currency=="BTC"?5:2)); 
    } 
    else return -1; 
}</pre> 

플러그인 달러로 모든 통화를 변환하고 내 사이트 내 현지 통화를 사용 ...이 기능을 보았지만 그것을 수정하는 방법을 몰랐다.

지금은 N376 NGN에게 = $ 1 USD 변환이 플러그인을 변경하려면

누군가가 나를 여기 도와 드릴까요?

+0

이, 함수가 양 두 통화 .. 당신은 간단하게 만들 수있는 동일한 기능을 가지고 자신의 코드를 삽입하고, 플러그인이 당신을 사용할 수 있도록 다음이 하나의 이름을 바꿉니다. –

+0

당신은 (단지 $ 만) 금액을 가지고 있으므로 변환 된 값 –

+0

@ temani-afif를 반환하면 문제가 해결됩니다. 전혀 코딩하지 못합니다. 내가 이것을 대체 할 수있는 기능을 가질 수 있다면 내 엉덩이를 구할 수 있습니다. 플러그인은 woocommerce 상점에서 현지 통화로 된 금액을 최대치로 가져 와서 Google 금융에 송금하고 일자리를 완성하기 위해 달러 가치를 정점에 둡니다. –

답변

0

왜 이렇게하고 싶은지 잘 모르겠습니다. 환율이 변경되면 코드로 업데이트해야합니다. 어떤 경우에는, 나는 이것을 할 수있는 가장 쉬운 방법은 $ from_currency 값이 "USD"(또는 USD 문자열이 무엇이든간에)인지 그리고 $ to_Currency가 "NGN"인지 (아니면 현지 통화 문자열이 무엇이든간에) 있다). if-else 문의 전체 curl 연산을 래핑하고 값이 "USD"이면 수동 변환을 반환 할 수 있습니다. 이 같은 무언가 : 당신이 알 수 있습니다으로

function convert_currency_live($from_Currency, $to_Currency, $amount) 
{ 
    $amount = urlencode($amount); 
    $from_Currency = trim(strtoupper(urlencode($from_Currency))); 
    $to_Currency = trim(strtoupper(urlencode($to_Currency))); 

    if($from_Currency == "USD" && $to_Currency == "NGN"){ 
     return round(($amount * 376), 2); 
    }else{ 

     if ($from_Currency == "TRL") $from_Currency = "TRY"; // fix for Turkish Lyra 
     if ($from_Currency == "ZWD") $from_Currency = "ZWL"; // fix for Zimbabwe Dollar 
     if ($from_Currency == "RIAL") $from_Currency = "IRR"; // fix for Iranian Rial 

     $url = "https://finance.google.com/finance/converter?a=".$amount."&amp;from=".$from_Currency."&amp;to=".$to_Currency; 

     $ch = curl_init(); 
     curl_setopt ($ch, CURLOPT_URL, $url); 
     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
     curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
     curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko"); 
     curl_setopt ($ch, CURLOPT_CONNECTTIMEOUT, 20); 
     curl_setopt ($ch, CURLOPT_TIMEOUT, 20); 
     $res = curl_exec($ch); 
     curl_close($ch); 

     if ($res) 
     { 
      $data = explode('bld&gt;', $res); 
      $data = explode($to_Currency, $data[1]); 
      return round($data[0], ($to_Currency=="BTC"?5:2)); 
     }else{ 
      return -1; 
     } 
    } 
+0

방향에 감사드립니다. 통화는 사이트의 기본 통화 인 NGN이고 통화는 USD입니다. 이 경우, ' if ($ from_Currency == "NGN"&& $ to_Currency == "USD") { return round (($ amount * 376), 2); }'잘못하지 않는 경우. –

+0

나는이 코드를 성공시키지 않고 시험해 보았다. 결제 페이지에 계속 버퍼링이있는 흰색 화면이 표시됩니다. –