Wordpress 插件开发-wp insert post不工作

Wordpress 插件开发-wp insert post不工作,wordpress,plugins,posts,Wordpress,Plugins,Posts,我是WP插件开发的新手。我对插件文件中的wp_insert_post有一个问题,测试运行了这个插件php文件,wp_insert_post之前的所有代码都很好,但是一旦它跳到wp_insert_post上,之后就什么也没有发生,停留在“Test15”上。测试了在主题文件夹中从测试页运行代码的insertpost部分,并且成功了。不确定这里有什么问题。请参阅下面的代码 function db_importer_insert_properties($properties, $category, $u

我是WP插件开发的新手。我对插件文件中的wp_insert_post有一个问题,测试运行了这个插件php文件,wp_insert_post之前的所有代码都很好,但是一旦它跳到wp_insert_post上,之后就什么也没有发生,停留在“Test15”上。测试了在主题文件夹中从测试页运行代码的insertpost部分,并且成功了。不确定这里有什么问题。请参阅下面的代码

function db_importer_insert_properties($properties, $category, $user_id, $post_type) {

echo 'Test9<br>'; 
$result = true;
echo 'Test10<br>'; 
if($properties) {
      echo 'Test11<br>';
if(count($properties) > 0) {
      echo 'Test12<br/>';
      print_r($properties);
      echo '<br/>';
  $count = 0;
  foreach($properties as $property) {
    echo 'Test13<br/>';

    $address =$property['address'] ; //get title

    $building=$address['streetNumber'];
    $street=$address['street'];
    $suburb=$address['suburb'];
    $state=$address['state'];
    $postcode=$address['postcode'];

    $title=$building. ' ' .$street.', '.$suburb.', '.$postcode.', '.strtoupper($state);

    //test post
    $new_post = array(
      'post_title'    => 'My post10 ',
      'post_content'  => 'This is my post10 ',
      'post_status'   => 'publish',
      'post_author'   => 1,
      'post_category' => 'uncategorized'
  );
    echo 'Test14<br/>';
    print_r($new_post);
    echo '<br/>';
    echo 'Test15<br/>';


    wp_insert_post($new_post);
    echo 'Test16<br>';

  if($post_id != 0) {

    add_post_meta($post_id, "_bathrooms", esc_attr($property['features']['bathrooms']));
    add_post_meta($post_id, "_bedrooms", esc_attr($property['features']['bedrooms']));

    if(is_array($property['images'])) {
      add_post_meta($post_id, "_images", esc_attr(implode("\n", $property['images']))); 
    }
    else {
     feedback("Post ID was 0");
    }   

    feedback("added property $title with post_id $post_id"); 
    $count++; 
  }
  else {
    feedback("post was failed to add");
  }
}
feedback("Added $count properties");

}
else {
  feedback("No properties to add.");
 }
}
else {
  feedback("No properties were selected");
  $result = false;
}
  return $result;
函数db\u导入器\u插入\u属性($properties、$category、$user\u id、$post\u type){
回声“Test9
”; $result=true; 回声“Test10
”; 如果($properties){ 回声“Test11
”; 如果(计数($properties)>0){ 回声“Test12
”; 打印(物业); 回声“
”; $count=0; foreach($properties作为$property){ 回声“Test13
”; $address=$property['address'];//获取标题 $building=$address['streetNumber']; $street=$address['street']; $郊区=$地址['郊区]; $state=$address['state']; $postcode=$address['postcode']; $title=$building.'.$street.'.$郊区.'.$postcode.'.$strotupper($state); //测试桩 $new\u post=数组( “帖子标题”=>“我的帖子10”, 'post_content'=>'这是我的post10', “发布状态”=>“发布”, “后作者”=>1, “后类别”=>“未分类” ); 回声“Test14
”; 打印(新帖子); 回声“
”; 回声“Test15
”; wp_插入_员额(新员额); 回声“Test16
”; 如果($post_id!=0){ 添加post-meta($post-id,“\u-bathrooms”,esc-attr($property['features']['bathrooms')); 添加后置元($post_id,“'u beddrooms”,esc_attr($property['features']['beddrooms')); if(是_数组($property['images'])){ 添加post-meta($post-id,“\u-images”,esc-attr(内爆(“\n”,$property['images'))); } 否则{ 反馈(“帖子ID为0”); } 反馈(“添加了属性$title和post_id$post_id”); $count++; } 否则{ 反馈(“未添加帖子”); } } 反馈(“增加$count属性”); } 否则{ 反馈(“无需添加属性”); } } 否则{ 反馈(“未选择任何属性”); $result=false; } 返回$result;

}

您忘记声明
$post\u id
变量。使用以下命令:

$post_id = wp_insert_post( $new_post, true );
这将在成功时返回post ID,或在失败时返回WP错误


使用
print\r($post\u id)
检查结果。

谢谢Diggy,但由于某种原因它不起作用……有没有办法检查wp\u insert\u post后面发生了什么?如果失败,它应该返回一个wp error对象。我注意到,
post_category
需要一个cat id数组,但我认为这不会导致重大问题。包含您的代码的文件是否有权访问WP函数?我怎么会错过它???哈哈,谢谢你,伙计)我忘了包括/wp load.php…我真傻…再次谢谢你,我已经挣扎了两个小时了