簡體   English   中英

wp_insert_post 顯示 404(找不到頁面)

[英]wp_insert_post shows 404 (page not found)

我正在插入通過管理區域中的自定義菜單生成的多個頁面。 這是代碼的那部分:

                                $_p = array();
                                $_p['post_title'] = $the_page_title;
                                $_p['post_content'] = $the_page_content;
                                $_p['post_status'] = 'publish';
                                $_p['post_type'] = 'page';
                                $_p['comment_status'] = 'closed';
                                $_p['ping_status'] = 'closed';
                                $_p['post_category'] = array(1);
                                $the_page_id = wp_insert_post( $_p);

出於某種原因,在循環中執行插入時,我會看到一個 404 頁面(不是實際的重定向 - URI 相同且正確,但內容是 404 頁面的內容)。 我知道這就是原因,因為注釋掉該行可以消除問題。 而且我確信 404 不是由於頁面丟失,因為刷新頁面解決了問題 - url 是相同的並且被打開。

我將問題縮小到在“parse_query”內部發送的“錯誤”,但我找不到原因。

if ( '404' == $qv['error'] )  $this->set_404();

更奇怪的是,我在 query.php(定義了 parse_query)中嘗試了 var_dump-ing,如果我轉儲某些內容,則沒有 404 重定向 - 一切正常。

我在 SO 上發現了類似的問題,但他們的問題與表單中的 POST 參數有關,在我的情況下沒有。

有沒有人遇到過這種行為? 在什么情況下 wp_insert_post 會顯示 404 ? 我在 wordpress 4.6

您必須單擊儀表板設置下的“保存永久鏈接”按鈕。該按鈕保存新頁面以提供良好的工作。或者您可以向插件添加一些代碼以保存永久鏈接。現在,我用這種方式解決了同樣的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM