2013-12-14 28 views
0

我在寫一個插件,我需要在WP頁面中顯示一段文字,但不在管理區域中。我該怎麼做?WordPress插件:僅在標準頁面上顯示html,而不在管理區域

我在構建嘗試這樣:

add_action('init', array($this, 'initPage')) 

然後:

public function initPage() { 
     echo 'hello';    
} 

,但顯示的文本也是在管理區。有沒有辦法做到這一點?這將是我假設的行動admin_init的相反。

回答

0

我通過將其添加到短代碼操作來解決此問題。像這樣:

add_shortcode('myPlugin', array($this, 'shortcode')); 

和:

public function shortcode($atts) { 
    return 'hello'; 
} 

利用上述代碼中, '你好' 將僅顯示在前端。不知道這是否是更乾淨的方式來做到這一點,而是完成這項工作。

+1

[短代碼應該以文本的形式返回它們的輸出](http://codex.wordpress.org/Function_Reference/add_shortcode),所以不要使用'echo',而應該有'return'。 '回'你好';' – webaware

0

init沒有「僅前端」版本,但是您可能不希望在init操作中執行任何輸出。

你究竟想要做什麼?通常,對特定類型的事物使用動作鉤子,並且在「init」之類的東西上很早就產生輸出很少見,也很奇怪。

+0

插件的想法是,以顯示HTML的一部分,更確切地說頁面層。但是我不想讓這個頁面層顯示在管理區域,只在網站的前端部分顯示。 – luqita

+0

你能更具體嗎?什麼是「頁面層」?請參閱,如果您在init中輸出,則文本出現在主題生成的頁面的任何實際HTML之前。 – Otto

相關問題