WordPress.org

Make WordPress Core

Ticket #37813: 37813.2.patch

File 37813.2.patch, 2.8 KB (added by johnbillion, 4 years ago)
  • src/wp-includes/post.php

     
    28662866 *     @type array  $tax_input             Array of taxonomy terms keyed by their taxonomy name. Default empty.
    28672867 *     @type array  $meta_input            Array of post meta values keyed by their post meta key. Default empty.
    28682868 * }
    2869  * @param bool  $wp_error Optional. Whether to allow return of WP_Error on failure. Default false.
     2869 * @param bool  $wp_error Optional. Whether to return a WP_Error on failure. Default false.
    28702870 * @return int|WP_Error The post ID on success. The value 0 or WP_Error on failure.
    28712871 */
    28722872function wp_insert_post( $postarr, $wp_error = false ) {
     
    46944694 * setting the value for the 'comment_status' key.
    46954695 *
    46964696 * @since 2.0.0
     4697 * @since 4.7.0 Added the `$wp_error` parameter to allow a WP_Error to be returned on failure.
    46974698 *
    46984699 * @see wp_insert_post()
    46994700 *
    4700  * @param string|array $args   Arguments for inserting an attachment.
    4701  * @param string       $file   Optional. Filename.
    4702  * @param int          $parent Optional. Parent post ID.
    4703  * @return int Attachment ID.
     4701 * @param string|array $args     Arguments for inserting an attachment.
     4702 * @param string       $file     Optional. Filename.
     4703 * @param int          $parent   Optional. Parent post ID.
     4704 * @param bool         $wp_error Optional. Whether to return a WP_Error on failure. Default false.
     4705 * @return int|WP_Error The attachment ID on success. The value 0 or WP_Error on failure.
    47044706 */
    4705 function wp_insert_attachment( $args, $file = false, $parent = 0 ) {
     4707function wp_insert_attachment( $args, $file = false, $parent = 0, $wp_error = false ) {
    47064708        $defaults = array(
    47074709                'file'        => $file,
    47084710                'post_parent' => 0
     
    47164718
    47174719        $data['post_type'] = 'attachment';
    47184720
    4719         return wp_insert_post( $data );
     4721        return wp_insert_post( $data, $wp_error );
    47204722}
    47214723
    47224724/**
  • tests/phpunit/tests/media.php

     
    17961796                );
    17971797                return $data;
    17981798        }
     1799
     1800        /**
     1801         * @ticket 37813
     1802         */
     1803        public function test_return_type_when_inserting_attachment_with_error_in_data() {
     1804                $data = array(
     1805                        'post_status'  => 'public',
     1806                        'post_content' => 'Attachment content',
     1807                        'post_title'   => 'Attachment Title',
     1808                        'post_date'    => '2012-02-30 00:00:00',
     1809                );
     1810
     1811                $attachment_id = wp_insert_attachment( $data, '', 0, true );
     1812                $this->assertWPError( $attachment_id );
     1813                $this->assertEquals( 'invalid_date', $attachment_id->get_error_code() );
     1814
     1815                $attachment_id = wp_insert_attachment( $data, '', 0 );
     1816                $this->assertSame( 0, $attachment_id );
     1817        }
    17991818}
    18001819
    18011820/**