2016-10-01 47 views
1

我正在使用允許您設置全球貨幣的插件。但是,我需要根據頁面更改貨幣。如何覆蓋特定頁面上的全局變量?

有什麼方法可以覆蓋特定頁面上的全局變量嗎?

我需要更改的變量是$貨幣。這是我迄今爲止基於what I've read here所嘗試的,但我對PHP不太熟悉,所以我不確定我有多接近解決方案。

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

在此先感謝您。

+0

你使用WordPress,你已經使用'is_page'功能,或者您有定義它? – SAM

+0

是的,我使用Wordpress。在這種情況下頁面ID是18. –

+0

所以你的代碼是好的變量是全局的,功能是好的但我建議在你的函數的參數中使用'$貨幣'爲了功能! – SAM

回答

0

如果您需要在整個頁面上使$ currency變爲global,那麼<?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 = ....