Wordpress 插件开发-wp insert post不工作
我是WP插件开发的新手。我对插件文件中的wp_insert_post有一个问题,测试运行了这个插件php文件,wp_insert_post之前的所有代码都很好,但是一旦它跳到wp_insert_post上,之后就什么也没有发生,停留在“Test15”上。测试了在主题文件夹中从测试页运行代码的insertpost部分,并且成功了。不确定这里有什么问题。请参阅下面的代码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
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…我真傻…再次谢谢你,我已经挣扎了两个小时了