2013-08-23 88 views
0

我是新來的wordpress。我想用wordpress在wordpress中創建一個新頁面。它正在工作,但它創建了兩頁。任何人都可以幫助我解決這個問題。wp_insert_post(),創建兩個頁面?

$my_post = array(
    'post_title' => 'profile', 
    'post_status' => 'publish', 
    'post_type'  => 'page', 
    'post_author' => 1 
);enter code here 

將POST到數據庫

wp_insert_post($my_post, $wp_error); 

我想,這一定只能創建一個頁面。

+0

你確定這段代碼不在任何循環中嗎? – codepixlabs

+0

作爲@prince的暗示,wp_insert_post行被執行兩次 - 這可能是因爲循環,或者因爲它在一個被動作鉤調用的函數中(它們有時會被多次調用)。請發佈更多代碼,以便我們提供幫助。 – Mark

+0

謝謝....但是當我試圖使用相同的代碼生成'後',它正在工作。 雖然我已經通過生成'post'並使用我的自定義sql查詢將其更新爲'page'來解決了我的問題。 **注意**:在使用'wp_update_post()'時會出現相同的錯誤。 – warsh

回答

1

我在使用wp_insert_post語句運行自定義php腳本來插入帖子到Wordpress數據庫之前得到了類似的錯誤。奇怪的是,它在每個帖子的wp_posts表中創建了2條記錄。

不知道是什麼問題,但我意識到,當我在同一瀏覽器中以管理員身份登錄時運行php代碼時,我得到了此重複帖子問題。我通過在單獨的瀏覽器中運行我的自定義php代碼來解決它。

因此,請確保您在瀏覽器中使用SQL查詢運行自定義php代碼,該瀏覽器中沒有Wordpress登錄。希望它能幫助別人。

+0

謝謝一羣人。你拯救了我的一天。這個問題真的很奇怪。它甚至導致wp_insert_post之後的代碼在我的情況下執行兩次。一旦我在我沒有登錄的瀏覽器窗口中運行我的導入代碼,每件事情都可以正常工作。謝謝。 – hfatahi

0

我有一個類似的問題,我想創建一個自定義模板頁面的功能來添加一個帖子,但默認情況下,頁眉和頁腳有獲得所有帖子的循環,我認爲這樣循環是創建兩個帖子,因爲我的頁面不需要開始帖子循環,我只是刪除了所有這些帖子,只有我自己的自定義函數來插入帖子,它爲我工作。

相關問題