2011-01-13 257 views
2

我正在開發一個Wordpress網站,該網站依賴於要激活的插件才能正常工作。Wordpress插件功能:檢查功能是否存在

該插件有幾個有用的功能,我在網站的模板文件中使用。當插件處於活動狀態時,一切正常。如果插件已停用,則內容不會加載。

將這些函數包裝在if(function_exists(...)中明顯地解決了這個問題,但我想知道在Wordpress中是否有更簡潔的方法。是否有一個函數可以放置在主題的functions.php文件中,可以檢查這些函數是否每次調用時都可用,並且如果不提供安全後備,而不必將它們包裝在function_exists()中?

感謝。

回答

0

我認爲這是最明確的方法。它可以防止所有問題。我認爲你可以寫一個函數來檢查這些函數是否每次調用都可用,但我幾乎肯定它會給你帶來更多麻煩,並且它會燒更多的內存,然後簡單地使用if(function_exist())。別忘了else分支,它會正常工作。

3

如果您只使用它(1-2次),請使用if(function_exists())。如果你通過不同的模板文件調用該函數幾次,我建議使用類似

在你的functions.php

function mytheme_related_posts($someparams = nil) { 
    if(function_exists('related_posts')) { 
    related_posts($someparams); 
    } else { 
    echo 'Please enable related posts plugin'; 
    } 
} 

然後在你的模板中使用mytheme_related_posts()

+0

我從來沒有想過這樣做。完美的作品,非常感謝! – Adam 2011-01-14 15:52:05