Changeset 33041 for trunk/src/wp-includes/post.php
- Timestamp:
- 07/02/2015 12:21:28 AM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/wp-includes/post.php
r32881 r33041 3128 3128 $user_id = get_current_user_id(); 3129 3129 3130 $defaults = array('post_status' => 'draft', 'post_type' => 'post', 'post_author' => $user_id, 3131 'ping_status' => get_option('default_ping_status'), 'post_parent' => 0, 3132 'menu_order' => 0, 'to_ping' => '', 'pinged' => '', 'post_password' => '', 3133 'guid' => '', 'post_content_filtered' => '', 'post_excerpt' => '', 'import_id' => 0, 3134 'post_content' => '', 'post_title' => '', 'context' => ''); 3130 $defaults = array( 3131 'post_author' => $user_id, 3132 'post_content' => '', 3133 'post_content_filtered' => '', 3134 'post_title' => '', 3135 'post_excerpt' => '', 3136 'post_status' => 'draft', 3137 'post_type' => 'post', 3138 'comment_status' => '', 3139 'ping_status' => '', 3140 'post_password' => '', 3141 'to_ping' => '', 3142 'pinged' => '', 3143 'post_parent' => 0, 3144 'menu_order' => 0, 3145 'guid' => '', 3146 'import_id' => 0, 3147 'context' => '', 3148 ); 3135 3149 3136 3150 $postarr = wp_parse_args($postarr, $defaults); … … 3303 3317 } 3304 3318 3319 // Comment status. 3305 3320 if ( empty( $postarr['comment_status'] ) ) { 3306 3321 if ( $update ) { 3307 3322 $comment_status = 'closed'; 3308 3323 } else { 3309 $comment_status = get_ option('default_comment_status');3324 $comment_status = get_default_comment_status( $post_type ); 3310 3325 } 3311 3326 } else { … … 3316 3331 $post_content_filtered = $postarr['post_content_filtered']; 3317 3332 $post_author = empty( $postarr['post_author'] ) ? $user_id : $postarr['post_author']; 3318 $ping_status = empty( $postarr['ping_status'] ) ? get_ option( 'default_ping_status' ) : $postarr['ping_status'];3333 $ping_status = empty( $postarr['ping_status'] ) ? get_default_comment_status( $post_type, 'pingback' ) : $postarr['ping_status']; 3319 3334 $to_ping = isset( $postarr['to_ping'] ) ? sanitize_trackback_urls( $postarr['to_ping'] ) : ''; 3320 3335 $pinged = isset( $postarr['pinged'] ) ? $postarr['pinged'] : ''; … … 4057 4072 4058 4073 // 4059 // Trackback and ping functions4074 // Comment, trackback, and pingback functions. 4060 4075 // 4076 4077 /** 4078 * Get the default comment status for a post type. 4079 * 4080 * @since 4.3.0 4081 * 4082 * @param string $post_type Optional. Post type. Default 'post'. 4083 * @param string $comment_type Optional. Comment type. Default 'comment'. 4084 * @return string Expected return value is 'open' or 'closed'. 4085 */ 4086 function get_default_comment_status( $post_type = 'post', $comment_type = 'comment' ) { 4087 switch ( $comment_type ) { 4088 case 'pingback' : 4089 case 'trackback' : 4090 $supports = 'trackbacks'; 4091 $option = 'ping'; 4092 break; 4093 default : 4094 $supports = 'comments'; 4095 $option = 'comment'; 4096 } 4097 4098 // Set the status. 4099 if ( 'page' === $post_type ) { 4100 $status = 'closed'; 4101 } elseif ( post_type_supports( $post_type, $supports ) ) { 4102 $status = get_option( "default_{$option}_status" ); 4103 } else { 4104 $status = 'closed'; 4105 } 4106 4107 /** 4108 * Filter the default comment status for the given post type. 4109 * 4110 * @since 4.3.0 4111 * 4112 * @param string $status Default status for the given post type, 4113 * either 'open' or 'closed'. 4114 * @param string $comment_type Type of comment. Default is `comment`. 4115 */ 4116 return apply_filters( "get_{$post_type}_default_comment_status", $status, $comment_type ); 4117 } 4061 4118 4062 4119 /**
Note: See TracChangeset
for help on using the changeset viewer.