WordPress修改改文章状态:wp_publish_post()

2016-10-16 wordpress函数
  • 文章介绍
  • 快速入门
  • 评价&建议

描述

wordpress通过更改文章状态来发表文章。

使用方法

  1. <?php wp_publish_post( $post_id ) ?>

参数

$post_id

(整数)(必需)文章编号

默认值:None

返回的值
(空)

示例

注释

用法:$wpdb

用法:通过do_action() 调用一下函数 $post_id和$post(文章相关数据):

edit_post()

save_post()

wp_insert_post()

修改记录

自2.1.0版本后

源文件

wp_publish_post()位于wp-includes/post.php中。

  1. /**
  2.  * Publish a post by transitioning the post status.
  3.  *
  4.  * @since 2.1.0
  5.  * @uses $wpdb
  6.  * @uses do_action() Calls 'edit_post', 'save_post', and 'wp_insert_post' on post_id and post data.
  7.  *
  8.  * @param int $post_id Post ID.
  9.  * @return null
  10.  */
  11. function wp_publish_post($post_id) {
  12.  global $wpdb;
  13.  $post = get_post($post_id);
  14.  if ( emptyempty($post) )
  15.   return;
  16.  if ( 'publish' == $post->post_status )
  17.   return;
  18.  $wpdb->update( $wpdb->posts, array( 'post_status' => 'publish' ), array( 'ID' => $post_id ) );
  19.  $old_status = $post->post_status;
  20.  $post->post_status = 'publish';
  21.  wp_transition_post_status('publish', $old_status$post);
  22.  // Update counts for the post's terms.
  23.  foreach ( (array) get_object_taxonomies('post') as $taxonomy ) {
  24.   $tt_ids = wp_get_object_terms($post_id$taxonomyarray('fields' => 'tt_ids'));
  25.   wp_update_term_count($tt_ids$taxonomy);
  26.  }
  27.  do_action('edit_post', $post_id$post);
  28.  do_action('save_post', $post_id$post);
  29.  do_action('wp_insert_post', $post_id$post);
  30. }
2 0

企业建站推荐正版商业主题,国内专业团队开发,完善售后,是您不二选择。

正版主题商店

主题猫WP建站,累计帮助1300+客户成功建站,为站长提供支持!

立刻开启你的建站之旅
QQ在线客服

服务热线

wordpress建站咨询