WordPress 插入页面函数 wp_insert_post
萨龙网络已经开发了很多 WordPress 主题,LensNews 主题要创建的页面较多,所以导致很多用户来咨询如何设置用户中心,在最新上线的 MNews 主题中就使用了 wp_insert_post 函数来自动创建主题要使用到的页面,这样大大减少了主题配置工作,也给萨龙龙节约了不少时间。
函数描述
该函数可在数据库中插入文章及页面。如果$postarr
参数有“ID”设置为一个值,那么文章将被更新。您可以通过设置“post_date”和“post_date_gmt”值来手动设置发布日期也可以通过设置“comment_status”值来关闭评论或打开注释。
使用方法
- <?php wp_insert_post( $postarr, $wp_error ); ?>
参数
$postarr
一个更新或插入文章的数组元素。
- $postarr = array(
- 'ID' => '0', // (int)默认值为0,如果是0以外的值,则该 ID 的文章将被更新。
- 'post_author' => get_current_user_id(), // (int)文章作者的ID,默认为当前登录的用户ID
- 'post_date' => '', // 文章发布时间,默认为当前时间。
- 'post_date_gmt' => '', // (字符串)GMT格式的文章发布时间。默认值是$post_date的值。
- 'post_content' => '', // (字符串)文章内容,默认为空。
- 'post_content_filtered' => '', // (字符串)过滤后的内容,默认是空的。不要管这个,WordPress会自动处理。
- 'post_title' => '', // (字符串)文章标题,默认为空.
- 'post_excerpt' => '', // (字符串)文章摘要,默认为空。
- 'post_status' => '', // (字符串)文章状态,默认为『draft』,即草稿。
- 'post_type' => '', // (字符串)文章类型,默认为『post』.
- 'comment_status' => '', // (字符串)是否可以接受评论。接受『打开』或『关闭』。默认值是『default_comment_status』选项的值。
- 'ping_status' => '', // (字符串)是否可以接受ping命令。接受『打开』或『关闭』。默认值是『default_ping_status』选项的值。
- 'post_password' => '', // (字符串)访问该文章的密码,默认是空的。
- 'post_name' => '', // (字符串)文章的别名,当发布新的文章时会默认创建。
- 'to_ping' => '', // (字符串)空格或回车将url的列表分隔成ping,默认是空的。
- 'pinged' => '', // (字符串)空格或回车分隔的url列表,默认是空的。
- 'post_modified' => '', // (字符串)上次修改后的日期,默认是当前时间。
- 'post_modified_gmt' => '', // (字符串)最后在GMT时区修改后的日期,默认是当前时间。
- 'post_parent' => '', // (int)文章的父级文章ID,默认为 0。
- 'menu_order' => '', // (int)如果新文章为一个页面,可以设置一个页面序号,默认为 0。
- 'post_mime_type' => '', // (字符串)文章的mime类型,默认是空的。
- 'guid' => '', // (字符串)全局唯一ID,用于引用post,默认是空的。
- 'post_category' => '', // (数组)文章分类目录,默认值为『default_category』选项的值。
- 'tags_input' => '', // (数组)文章标签,默认为空。
- 'tax_input' => '', // (数组)文章的自定义分类法项目,默认为空。
- 'meta_input' => '', // (数组)自定义字段,默认为空。
- 'page_template' => '', // 页面模板文件的名称,如,template.php,默认为空。
- );
$wp_error
(可选)是否返回失败的WP_Error。
默认值:false
wp_insert_post
函数的基本使用:
- // 文章投稿
- $my_post = array(
- 'post_title' => wp_strip_all_tags( $_POST['post_title'] ),
- 'post_content' => $_POST['post_content'],
- 'post_status' => 'publish',
- 'post_author' => 1,
- 'post_category' => array( 8,39 )
- );
- // 插入文章到数据库
- wp_insert_post( $my_post );
函数一般用在启用主题时创建一些默认页面,以及投稿中。