我在single.php中有一個表單,它將數據提交到同一頁面上的wp_update_post()
。問題是,每當single.php加載時,我的更新函數在The Loop已經加載並且已經從數據庫檢索到該文章之後啓動。WordPress - 從single.php中更改文章的內容,然後從數據庫下載
我必須刷新頁面才能看到我使用wp_update_post()
所做的任何更改。
這是我更新帖子:
$queried_object = get_queried_object();
$my_post = get_post($queried_object->ID);
if(isset($_POST['submit']) && isset($_POST['singleedit'])) {
$my_post->post_content = $_POST['singleedit'];
wp_update_post($my_post);
}
即使我把它只是在有關職位從數據庫下載後它推出的頭之後。
在從數據庫下載之前,有沒有辦法在single.php中更改帖子內容?
編輯:對不起,我意識到我不夠清楚。該表單僅用於管理員,它是一個wp_editor,可以從中更新帖子的內容。我已經管理了所有的佈局問題等。我希望管理員能夠修改他們正在查看的帖子的內容。
哦,對不起,我還不夠清楚。該表單僅適用於管理員,它是一個wp_editor,可以從中更新發布內容。我已經管理了所有的佈局問題等。我希望管理員能夠修改他們正在查看的帖子的內容。 – 2014-12-01 20:14:03
那麼,即使它只是一個僅限於管理員的表單,也存在對頁面重新渲染的關注。在POST表單提交後執行重定向被認爲是最佳做法。 – BBonifield 2014-12-01 20:20:43
好的,你是對的,我檢查過重定向,它速度很快,沒有人會注意到。謝謝,我選擇你的答案是正確的。順便說一下,你只需要一行代碼即可解決互聯網上最受歡迎的問題之一(基於我的研究)WordPress問題。做得好。謝謝。 – 2014-12-01 20:31:47