2013-04-11 45 views
1

我正尝试从Wordpress的前端进行发布。我在一个名为page-submit.php的页面中有以下代码,虽然它已工作,但在提交页面时我收到404错误,但我不知道为什么或如何跟踪此问题。运行此页面时出现Wordpress 404错误

此页page_submit.php显示正常,位于我的主题文件夹中。

有什么建议吗?

<?php get_header(); ?> 

<?php 

// Check if the form was submitted 
if('POST' == $_SERVER['REQUEST_METHOD'] && !empty($_POST['action'])) { 

// Do some minor form validation to make sure there is content 
if (isset ($_POST['title'])) { 
    $title = $_POST['title']; 
} else { 
    echo 'Please enter a title'; 
} 
if (isset ($_POST['description'])) { 
    $description = $_POST['description']; 
} else { 
    echo 'Please enter the content'; 
} 
$tags = $_POST['post_tags']; 

// Add the content of the form to $post as an array 
$post = array(
    'post_title' => $title, 
    'post_content' => $description, 
    'post_category' => $_POST['cat'], // Usable for custom taxonomies too 
    'tags_input' => $tags, 
    'post_status' => 'publish',   // Choose: publish, preview, future, etc. 
    'post_type'  => $_POST['post_type'] // Use a custom post type  if you want to 
); 
wp_insert_post($post); // Pass the value of $post to WordPress the insert function 
         // http://codex.wordpress.org/Function_Reference/wp_insert_post 

wp_redirect(home_url()); // redirect to home page after submit 

} // end IF 
// Do the wp_insert_post action to insert it 
do_action('wp_insert_post', 'wp_insert_post'); 
?> 



<!-- New Post Form --> 
<div id="postbox"> 
<form id="new_post" name="new_post" method="post" action=""> 

    <p><label for="title">Title</label><br /> 
    <input type="text" id="title" value="" tabindex="1" size="20" name="title"  /> 
    </p> 
    <p><label for="description">Description</label><br /> 
    <textarea id="description" tabindex="3" name="description" cols="50" rows="6"></textarea> 
    </p> 
    <p><?php wp_dropdown_categories('show_option_none=Category&tab_index=4&taxonomy=category'); ?></p> 
    <p><label for="post_tags">Tags</label> 
     <input type="text" value="" tabindex="5" size="16" name="post_tags" id="post_tags" /></p> 
    <p align="right"><input type="submit" value="Publish" tabindex="6" id="submit" name="submit" /></p> 

    <input type="hidden" name="post_type" id="post_type" value="post" /> 
    <input type="hidden" name="action" value="post" /> 
    <?php wp_nonce_field('new-post'); ?> 
</form> 
</div> 
<!--// New Post Form --> 


<?php get_sidebar(); ?> 

<?php get_footer(); ?> 

回答

2

它看起来像你的POST变量是由WordPress的保留。请使用“title_x”,“description_x”和“post_tags_x”,而不是“title”,“description”和“post_tags”。

+0

谢谢,我只是试过这个没有区别。我实际上发现帖子现在也没有插入。 – Jeff

+0

进一步的调查显示了不同地区的错误 - 关闭此主题 – Jeff