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를 사용하고 있습니다. 이 경우 페이지 아이디는 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 = .... 
관련 문제