我尝试添加未发布的新节点。
我设置status = 0;
但检查此节点时status = 1;
此代码。
$node = new StdClass();
$node->type = 'article'; //giving it type
$node->title = $article->headline; //gives title
$node->body = $article->body; //gives body
$node->field_abstract[0]['value'] = $article->summary;
$node->field_is_syndigate[0]['value'] = 1;
$node->field_syndigate_first_time[0]['value'] = 1;
$node->language = $language->language; //'en' or 'ar'
$node->comment = 2; //read&write comment
//$node->created = $article->parsed_at;
$node->created = '';
$node->changed = $node->created;
$node->status = 0;
$node->promote = 0;
$node->sticky = 0;
$node->format = 4; // Editor Filtered HTML
$node->uid = $user->uid;
//$node->field_attribution[0]['value'] = $article->copyright; // attribution
$attribution = '';
if($article->logo_path){
$attribution = '<img src="http://pub.syndigate.info/logos/small/'.$article->title_id.'.png" title="'.$article->title_name.'" border="0" />';
if($article->website){
$attribution = '<a href="'.$article->website.'" title="'.$article->title_name.'" target="_blank">'.$attribution.'</a>';
}
$attribution .= ' ';
}
$attribution .= $article->copyright;
$node->field_attribution[0]['value'] = $attribution; // attribution
$node->field_source[0]['value'] = $article->title_id; // source
node_save($node);
如何将节点保存为未发布。
答案 0 :(得分:2)
以编程方式创建节点时,需要设置
$node->is_new = TRUE;
如果您将$node->created
设置为空值,我建议您从脚本中删除此行,node_save()
将处理它。与$node->changed
相同,因为您提供相同的值,只需从脚本中删除此行
希望这个帮助