[英]wp_insert_post() returning a 404 error and does not create a page
[英]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.