我试图通过外部php脚本插入批量帖子:
<?php
require_once '/full/path/to/wp-load.php';
require_once ABSPATH . '/wp-admin/includes/taxonomy.php';
$title = "some post title";
$content = "some content";
$tags= "tag1,tag2,tag3";
$user_id = 1;
// Create post object
$my_post = array(
'post_title' => $title,
'post_content' => $content,
'post_status' => 'publish',
'post_author' => $user_id,
'post_type' => 'post',
'tags_input' => $tags,
);
$id = wp_insert_post($my_post,true);
?>
$ id返回0,WP_Error为空。 将帖子插入到具有正确标题和内容但没有标签的DB中。它也无法使用wp_insert_terms()插入标记或其他自定义分类法。
我是否错过了要包含的文件,或者我没有正确设置正常工作的文件?
答案 0 :(得分:1)
您不需要加载taxonomy.php ..此功能由wp-load.php处理
我还建议你把它放在文件的第一个位置:
define( 'WP_USE_THEMES', false );
比你可以使用wp_insert_post()添加帖子..但要添加标签或类别等你需要使用
wp_set_post_terms()
或
wp_set_object_terms()
来自wp_insert_post的收到的$ id。
答案 1 :(得分:0)
请先包含wordpress数据库文件。
require_once 'wp-load.php';
require_once ABSPATH . '/wp-admin/includes/taxonomy.php';
并使用以下代码从外部脚本动态插入帖子。
$newIds = wp_insert_post( array(
'post_title' => $postCSVContent['1'],
'post_content' => $postCSVContent['2'],
'post_type' => 'doors',
'post_status' => 'publish',
'post_author' => 1,
'post_parent' => $parentId
));
请参阅说明如何以编程方式创建和更新wordpress的教程。
http://www.pearlbells.co.uk/insert-udpate-wordpress-post-programmatically/