Title: Inserting Posts via External Script
Last modified: August 20, 2016

---

# Inserting Posts via External Script

 *  [raindog308](https://wordpress.org/support/users/raindog308/)
 * (@raindog308)
 * [15 years ago](https://wordpress.org/support/topic/inserting-posts-via-external-script/)
 * I have a hundreds of pages I’d like to setup in a WordPress site. I’m trying 
   to create a php command-line script I can use to parse through the data and create
   pages. The data changes regularly, so I need to automate things.
 * Obviously, I should use the WP functions instead of directly using the MySQL 
   tables. The following script runs without error…but no page is created 🙁
 * Any pointers on what I’m doing wrong?
 *     ```
       #!/usr/local/php5/bin/php
       <?php
               include ('/some/path/wordpress/wp-admin/admin.php');
               include ('/some/path/wordpress/wp-includes/post.php');
   
               $to_insert = array();
   
               $to_insert['post_author'] = 0;
               $to_insert['post_content_filtered'] = '<h1>Here is my info</h1>\n<ul><li>one</li><li>two</li></ul>\n';
               $to_insert['post_type'] = 'page';
               $to_insert['post_title'] = 'We Must Test';
   
               wp_insert_post($to_insert);
       ```
   

Viewing 6 replies - 1 through 6 (of 6 total)

 *  [TheCosmonaut](https://wordpress.org/support/users/thecosmonaut/)
 * (@thecosmonaut)
 * [15 years ago](https://wordpress.org/support/topic/inserting-posts-via-external-script/#post-2092164)
 * Since you’re not defining ‘post_status’, it might be creating a draft… did you
   check the admin area?
 * You can also try using ‘post_content’ instead of ‘post_content_filtered’…
 *  Thread Starter [raindog308](https://wordpress.org/support/users/raindog308/)
 * (@raindog308)
 * [15 years ago](https://wordpress.org/support/topic/inserting-posts-via-external-script/#post-2092173)
 * No, no joy on changing either of those things. No draft, no nothin’
 * I added some code to check the result of the WP_Error returned from wp_insert_post
   but there’s no error. And nothing in the wp_posts table, either.
 * I can’t be the only guy in the world who wants to create WP pages automatically…
 *  [TheCosmonaut](https://wordpress.org/support/users/thecosmonaut/)
 * (@thecosmonaut)
 * [15 years ago](https://wordpress.org/support/topic/inserting-posts-via-external-script/#post-2092174)
 * You’re definitely not the only guy — I’m doing it on one of my projects now. 
   This is the code I’m using and it’s working fine (it’s doing a “post” post_type
   and I’m using variables to designate author, title, and category):
 *     ```
       //-- Set up post values
       		$myPost = array(
       			'post_status' => 'publish',
       			'post_type' => 'post',
       			'post_author' => $authorID,
       			'post_title' => $title,
       			'comment_status' => 'closed',
       			'ping_status' => 'closed',
       			'post_category' => array($category),
       		);
   
       		//-- Create the new post
       		$newPostID = wp_insert_post($myPost);
       ```
   
 * Given that our two sets of scripts are extremely similar, my next guess would
   be that the author_id is invalid and maybe that’s somehow preventing the page
   from being added. Maybe try testing with an actual author ID?
 *  Thread Starter [raindog308](https://wordpress.org/support/users/raindog308/)
 * (@raindog308)
 * [15 years ago](https://wordpress.org/support/topic/inserting-posts-via-external-script/#post-2092175)
 * Thanks, Cosmonaut. Which WP files are you including before the call to wp_insert_post?
 *  [TheCosmonaut](https://wordpress.org/support/users/thecosmonaut/)
 * (@thecosmonaut)
 * [15 years ago](https://wordpress.org/support/topic/inserting-posts-via-external-script/#post-2092176)
 * I’m requiring:
 * `require('from/your/template/folder/path/to/wp-blog-header.php');`
 * Which in my case (because I keep my PHP in a subfolder) is:
 * `require('../../../../wp-blog-header.php');`
 *  Thread Starter [raindog308](https://wordpress.org/support/users/raindog308/)
 * (@raindog308)
 * [15 years ago](https://wordpress.org/support/topic/inserting-posts-via-external-script/#post-2092177)
 * Found it – the trick is to include wp-load.php and then everything works. I was
   including wp-admin.php and wp-post.php, which is not right.
 * Thanks, Cosmonaut!

Viewing 6 replies - 1 through 6 (of 6 total)

The topic ‘Inserting Posts via External Script’ is closed to new replies.

 * In: [Fixing WordPress](https://wordpress.org/support/forum/how-to-and-troubleshooting/)
 * 6 replies
 * 2 participants
 * Last reply from: [raindog308](https://wordpress.org/support/users/raindog308/)
 * Last activity: [15 years ago](https://wordpress.org/support/topic/inserting-posts-via-external-script/#post-2092177)
 * Status: not resolved

## Topics

### Topics with no replies

### Non-support topics

### Resolved topics

### Unresolved topics

### All topics
