2016-10-01 2 views
1

私はグローバル通貨を設定できるプラグインを使用しています。しかし、私はページに基づいて通貨を変更する必要があります。特定のページのグローバル変数を上書きする方法はありますか?

特定のページでグローバル変数を上書きする方法はありますか?

変更する必要がある変数は、$ currencyです。ここでは私がこれまでにwhat I've read hereに基づいて試したことはありますが、PHPにはあまり馴染んでいないので、私は解決策にどれくらい近づいているのかよく分かりません。

function change_currency() { 
global $currency; 
if(is_page (18)) { 
$currency = "EUR"; 
}} 

ありがとうございます。

+0

あなたは 'is_page'機能を使用しましたかあなたが持っているワードプレスを使用していますそれを定義? – SAM

+0

はい、私はWordpressを使用しています。この場合のページIDは18です。 –

+0

あなたのコードは問題ありません変数はグローバルで関数は問題ありませんが、関数の引数に '$ currency'を使うことをお勧めします。 – SAM

答えて

0

$ currency変数をページ全体でグローバルにする必要がある場合は、<?php global $currency; ?>がページの上部に宣言されます。あなたは、単一の関数内で必要な場合は、それ以外の場合、この関数を使用します。

change_currency() 
{ 
    global $currency; 
} 
0

あなたは可能、あなたの方法に変数をインポートし、その新しい値を返すために使用するキーワードを使用して、このような何かを行うことができます。

function changeCurrency() use ($currency) 
{ 
    ..... 
    return $currency; 
} 

$currency = changeCurrency(); 

これは手順指向ですが、私のよりよい解決策は、あなたがどのような項目あなたの保持およびオブジェクトを通してその通貨を変更する方法のためのオブジェクトを作成することを示唆していることであろう。

class Item 
{ 
    private $currency; 
    public function changeCurrency(
    ) { 
     ..... 
     $this->currency = .... 
関連する問題