wp_insert_post with a form

<?php

$submitted = $_POST['submit'];
$post-title= $_POST['post_title'];
$post-content= $_POST['post_content'];


$new_post = array(
            'post_title' => '$post-title',
            'post_content' => '$post-content',
            'post_status' => 'publish',
            'post_author' => $user_ID,

        );
if(isset($submitted)){
wp_insert_post($new_post);
}

?>

<form method="post" action=" "> 
<input type="text" name="post_title" size="45" id="input-title"/>

<textarea rows="5" name="post_content" cols="66" id="text-desc"></textarea> 


<input type="hidden" name="cat" value="7,100"/> 

<input class="subput round" type="submit" name="submit" value="Post"/>
</form>

I tested it with out the form and it worked fine. but for somereason i cant seem to get it to work with the form. any ideas?

also what is supposed to go in the action for the form?

thanks for the help.

Answers


This should work.

<?php 
if(isset($_POST['new_post']) == '1') {
    $post_title = $_POST['post_title'];
    $post_category = $_POST['cat'];
    $post_content = $_POST['post_content'];

    $new_post = array(
          'ID' => '',
          'post_author' => $user->ID, 
          'post_category' => array($post_category),
          'post_content' => $post_content, 
          'post_title' => $post_title,
          'post_status' => 'publish'
        );

    $post_id = wp_insert_post($new_post);

    // This will redirect you to the newly created post
    $post = get_post($post_id);
    wp_redirect($post->guid);
}      
?>      

<form method="post" action=""> 
    <input type="text" name="post_title" size="45" id="input-title"/>
    <?php wp_dropdown_categories('orderby=name&hide_empty=0&exclude=1&hierarchical=1'); ?>
    <textarea rows="5" name="post_content" cols="66" id="text-desc"></textarea> 
    <input type="hidden" name="new_post" value="1"/> 
    <input class="subput round" type="submit" name="submit" value="Post"/>
</form>

If input with name new_post and value of 0 then add the post. No action needed for the form, but you should keep the PHP part on the top of the header.


Need Your Help

How to get file's modifed date on windows/dos command

windows batch-file dos command

I have been using the following command to get the file date, however the fileDate variable has been returning blank value ever since we moved to a different server (windows 2003)

Redirect output in a bash script

python linux bash redirect

I have a bash script that runs something along the lines of:

About UNIX Resources Network

Original, collect and organize Developers related documents, information and materials, contains jQuery, Html, CSS, MySQL, .NET, ASP.NET, SQL, objective-c, iPhone, Ruby on Rails, C, SQL Server, Ruby, Arrays, Regex, ASP.NET MVC, WPF, XML, Ajax, DataBase, and so on.