wp_insert_post错误:“内容,标题和摘录都是空的。”

时间:2013-09-12 19:10:37

标签: php wordpress woocommerce

我正在尝试通过PHP将WooCommerce产品插入WordPress数据库。 WooCommerce产品只是一个post-type = product的帖子,所以我认为这应该有效:

$mypost = array('post-title' => $secondexplosion[0], 'post-type' => 'product',
   'post-status' => 'publish', 'post-content' => $secondexplosion[1],
   'post-excerpt' => '');
$postid = wp_insert_post($mypost, true);
$ secondexplosion是一个String数组,包含post-title和post-content;我检查过,它不包含空值或任何问题。那么,为什么wp_insert_post返回错误“内容,标题和摘录是空的”?非常感谢!

1 个答案:

答案 0 :(得分:1)

Codex for wp_insert_post有很多有用的信息:

$post = array(
  'ID'             => [ <post id> ] //Are you updating an existing post?
  'menu_order'     => [ <order> ] //If new post is a page, it sets the order in which it should appear in the tabs.
  'comment_status' => [ 'closed' | 'open' ] // 'closed' means no comments.
  'ping_status'    => [ 'closed' | 'open' ] // 'closed' means pingbacks or trackbacks turned off
  'pinged'         => [ ? ] //?
  'post_author'    => [ <user ID> ] //The user ID number of the author.
  'post_category'  => [ array(<category id>, <...>) ] //post_category no longer exists, try wp_set_post_terms() for setting a post's categories
  'post_content'   => [ <the text of the post> ] //The full text of the post.
  'post_date'      => [ Y-m-d H:i:s ] //The time post was made.
  'post_date_gmt'  => [ Y-m-d H:i:s ] //The time post was made, in GMT.
  'post_excerpt'   => [ <an excerpt> ] //For all your post excerpt needs.
  'post_name'      => [ <the name> ] // The name (slug) for your post
  'post_parent'    => [ <post ID> ] //Sets the parent of the new post.
  'post_password'  => [ ? ] //password for post?
  'post_status'    => [ 'draft' | 'publish' | 'pending'| 'future' | 'private' | 'custom_registered_status' ] //Set the status of the new post.
  'post_title'     => [ <the title> ] //The title of your post.
  'post_type'      => [ 'post' | 'page' | 'link' | 'nav_menu_item' | 'custom_post_type' ] //You may want to insert a regular post, page, link, a menu item or some custom post type
  'tags_input'     => [ '<tag>, <tag>, <...>' ] //For tags.
  'to_ping'        => [ ? ] //?
  'tax_input'      => [ array( 'taxonomy_name' => array( 'term', 'term2', 'term3' ) ) ] // support for custom taxonomies. 
);  

看起来你的领域里只有一个拼写错误;预期的字段名称是post_title post_type post_status post_contentpost-excerpt - 这是带有下划线而不是短划线。