2015-05-26 78 views
0

我想改變這個函數的輸出。覆蓋子主題中的父主題功能?怎麼樣?

function ph_mailchimp($action){ 
    $msg = get_theme_mod('pic_mailchimp', 'text'); 
    $output = ' 
    <div class="newsletter-box well"> 
     <p>' . $msg . '</p> 
     <form accept-charset="UTF-8" action="'.$action.'" class="new_subscriber" data-remote="true" id="mc-embedded-subscribe-form" method="post"> 
     <div style="display:none"> 
      <input name="utf8" type="hidden" value=""> 
     </div> 
     <input class="inputfield" id="mce-EMAIL" name="EMAIL" placeholder="Your email" type="email"> 
     <input name="subscribe" type="submit" value="Subscribe"> 
     </form> 
    </div>'; 
    return $output; 
} 

基本上我想在我的子主題的functions.php文件中添加代碼覆蓋在上面的函數的輸出。

任何人都可以幫忙嗎?謝謝。

+0

這個函數是如何掛鉤到WordPress?在哪個動作下鉤? – rnevius

+0

文件中沒有該函數的add_action行。函數名稱ph_mailchimp僅在上面的代碼中提及。而已。 – user3517251

+0

它叫什麼名字?在模板中?你不能只是重寫模板來改變函數名稱嗎? – vard

回答

1

你可以,如果你有適當的設置。從PECL安裝APD,或從相同的runkit安裝。如果你有runkit,這應該是訣竅:

runkit_function_remove ("ph_mailchimp"); 

function ph_mailchimp() { 
    echo "Foobar";//do stuff here 
} 
+0

只需注意......如果函數通過WordPress Action鉤子掛鉤,則OP將不需要APD或runkit。否則,這是一個很好的選擇。 – rnevius

+0

我在OP中添加的函數是父主題的functions.php文件中的函數。我想要的是在子主題中重寫輸出。 – user3517251

+0

基本上我想要在網站上顯示不同的表單,而不是功能中的表單。 – user3517251