2017-09-28 6 views
0

Ich habe ein WordPress-Zahlungsprozessor-Plugin, das Google Finance verwendet, um den Wechselkurs zu bestimmen, aber ich möchte meine eigene Wechselkurs statt Google Finanzen verwenden. Int er Datei-Plugin, sah ich diese Funktion aber nicht wissen, wie es zu ändern ...Plugin-Datei ändern

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> 

Das Plugin jede Währung Dollar konvertiert und meine Seite nutzt meine lokale Währung.

Jetzt möchte ich dieses Plugin ändern $ 1 USD = N376 NGN

Kann mir jemand helfen, heraus zu konvertieren?

+0

wie Sie feststellen können, nehmen die Funktion der Menge und sowohl Währung .. Sie können einfach die gleiche Funktion erstellen und Ihren eigenen Code setzen, und dann diese eine umbenennen, so das Plugin bei Ihnen verwenden. –

+0

Sie haben die Menge (die nur $ ist), also geben Sie einfach den konvertierten Wert –

+0

@ temani-afif zurück, um das zu tun, ist mein Problem jetzt. Bin nicht gut in der Codierung überhaupt. Wenn ich eine Funktion habe, die ich verwenden kann, um dies zu ersetzen, kann es meinen Arsch retten. Das Plugin erreicht einen beliebigen Betrag in meiner lokalen Währung vom Woocommerce Store, sendet es an Google Finance und erhöht dort den Dollarwert, um seinen Job abzuschließen. –

Antwort

0

Nicht sicher, warum Sie dies tun möchten. Wenn sich der Wechselkurs ändert, müssen Sie ihn im Code aktualisieren. In jedem Fall denke ich, der einfachste Weg wäre, festzustellen, ob der $ from_currency-Wert "USD" ist (oder was auch immer der USD-String wäre) und ob $ to_Currency "NGN" ist (oder was auch immer der lokale Währungsstring wäre) Sein). Sie können die gesamte curl-Operation in eine if-else-Anweisung einschließen und eine manuelle Konvertierung zurückgeben, wenn der Wert "USD" lautet. So etwas wie folgt aus:

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

Danke für die Richtung. Von der Währung ist NGN, die die Basiswährung der Website und die Währung ist USD. In diesem Fall ist es " if ($ from_Currency ==" NGN "&& $ to_Currency ==" USD ") { Rückrunde (($ Betrag * 376), 2); } 'Wenn ich mich nicht irre. –

+0

Ich habe diesen Code ohne Erfolg versucht. Es zeigt einen weißen Bildschirm auf der Bezahlseite mit fortlaufender Pufferung. –