如何覆盖特定页面上的全局变量?

时间:2016-10-01 08:27:08

标签: php wordpress

我使用的插件允许您设置全球货币。但是,我需要根据页面更改货币。

有没有办法覆盖特定页面上的全局变量?

我需要更改的变量是$ currency。以下是我迄今为止基于what I've read here尝试过的内容,但我对PHP不太熟悉,所以我不确定我与解决方案的距离。

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

提前谢谢。

2 个答案:

答案 0 :(得分:0)

如果您需要在整个页面上将$ currency变量设为全局变量,则会在页面顶部声明<?php global $currency; ?>。否则,如果你需要一个函数,那么使用这个函数:

change_currency() 
{
    global $currency; 
}

答案 1 :(得分:0)

您可以使用use关键字将变量导入方法并返回其新值。

<ul class="dropdown-menu" role="menu">
    <?php foreach($vw_main_menu['notifs'] as $row):?>
      <li>
         <a href="#"><?php echo $row['deleted_user_request.sdp_no']?></a>
      </li>
   <?php endforeach;?>
</ul>

虽然这是面向程序的。我更好的解决方案是建议您为持有的项目创建一个对象,以及通过该对象更改该货币的方法:

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

$currency = changeCurrency();