2013-05-21 18 views
0

我在寫一個WordPress插件。我想在保存帖子後顯示自定義消息。這條消息將取決於帖子保存時調用的函數的結果。全局變量在WordPress插件中消失

這裏是我的代碼:

add_action('save_post', 'my_save_post_function'); 
function my_save_post_function() { 
    global $msg; 
    $msg = "Foo bar"; 
    ... 
} 

add_filter('post_updated_messages', 'my_post_updated_messages_function'); 
function my_post_updated_messages_function($messages) { 
    global $msg; 
    $messages["post"][1] = $msg; // !! $msg is undefined !! 
    ... 
} 

爲什麼$msg不確定?

有什麼辦法可以從save_post行動中得到結果嗎?我嘗試了各種各樣的技巧。即使是$_POST數據似乎已經被顯示的時間管理消息吹走了。

+1

全球一般是不好的做法,解析雖然功能 – 2013-05-21 21:54:24

+0

這看起來像閃光的消息變量,那麼爲什麼不使用會話這個?我知道wp不會使用會話,但是您可以在插件中啓動會話並從那裏開始。另外,按照你做代碼的方式,真的很糟糕......它依賴於你的函數被調用的順序以及它們是否在相同的執行週期中被調用。 – Twisted1919

+0

[閱讀本文](http://betterwp.net/8-using-global-variables-in-wordpress/),文章的最後部分解釋瞭如何實現你想要的。 – montrealist

回答