2012-05-30 24 views
1

我需要調用一個輸出html的函數。在這個函數裏面,有一個條件是從html中排除一行,我需要這一行。這個條件不是函數的參數。這是硬編碼。所以,我必須自己編碼,或者,有沒有辦法修改這個條件?如何修改一個沒有arg輸入的函數內的一個條件?

function get_media_item($attachment_id, $args = null) { 
//....lots stuffs, then, arrive this part: 
    $gallery = ((isset($_REQUEST['tab']) && 'gallery' == $_REQUEST['tab']) || (isset($redir_tab) && 'gallery' == $redir_tab)); 
    $order = ''; 

    foreach ($form_fields as $key => $val) { 
     if ('menu_order' == $key) { 
      if ($gallery) 
       $order = "<div class='menu_order'> <input class='menu_order_input' type='text' id='attachments[$attachment_id][menu_order]' name='attachments[$attachment_id][menu_order]' value='" . esc_attr($val['value']). "' /></div>"; 
      else 
       $order = "<input type='hidden' name='attachments[$attachment_id][menu_order]' value='" . esc_attr($val['value']) . "' />"; 

      unset($form_fields['menu_order']); 
      break; 
     } 
    } 
//... other stuffs 
} 

我需要在其他選項卡中調用此功能,而不是「圖庫」選項卡。所以,我無法獲得$訂單輸入框。

+0

我們不能讀你的心還是你的代碼,如果你不將它張貼。 – Xeoncross

+0

任何事情都可能在PHP的土地上!但是,嚴肅地說,粘貼一些代碼並給我們一個例子,這樣我們就可以理解你在說什麼,否則你只會得到「是的,使用文本編輯器」的回覆或者投票 – Scuzzy

+0

我剛剛添加了代碼 – Jenny

回答

0

如果你不想傳遞一個參數給函數(這將推薦btw)來修改條件,你可以使用全局變量(或會話)。

例子:

function test(){ 
    global $instructions; 

    if (isset($instructions['fetch'])){ 
     // new codes 
    } else { 
     // existing codes 
    } 

    return $result; 
} 

// implement: 

$instructions = array(); 
$instructions['fetch'] = TRUE; 
echo test(); 
+0

謝謝!但功能是在WordPress的核心,我不應該直接修改它。我只能在任何提供的工作。 – Jenny

相關問題