[wp-trac] [WordPress Trac] #36339: Possible issue with wp_export() and undefined custom post types

WordPress Trac noreply at wordpress.org
Fri Mar 25 22:04:00 UTC 2016


#36339: Possible issue with wp_export() and undefined custom post types
--------------------------+-----------------------------
 Reporter:  theMikeD      |      Owner:
     Type:  defect (bug)  |     Status:  new
 Priority:  normal        |  Milestone:  Awaiting Review
Component:  Export        |    Version:
 Severity:  normal        |   Keywords:
  Focuses:                |
--------------------------+-----------------------------
 While writing the improved docblock for wp_export, I noticed something
 that may be an issue if an invalid custom post type is supplied. Here is
 the code:

 {{{#!php
 <?php
         if ( 'all' != $args['content'] && post_type_exists(
 $args['content'] ) ) {
                 $ptype = get_post_type_object( $args['content'] );
                 if ( ! $ptype->can_export )
                         $args['content'] = 'post';

                 $where = $wpdb->prepare( "{$wpdb->posts}.post_type = %s",
 $args['content'] );
         } else {
                 $post_types = get_post_types( array( 'can_export' => true
 ) );
                 $esses = array_fill( 0, count($post_types), '%s' );
                 $where = $wpdb->prepare( "{$wpdb->posts}.post_type IN (" .
 implode( ',', $esses ) . ')', $post_types );
         }

 }}}


 The two things that occured me are
 1. If a valid custom post type is supplied but its `can_export` property
 is `false`, `posts` will be used instead. This is unexpected behaviour. I
 think it should stop and not export anything.
 1. if an invalid custom post type is supplied, every post type that has
 `can_export` set to `true` is used. This is also unexpected behaviour. I
 think it should stop and not export anything.

 Am I reading this wrong? Is there a reason why it works this way?

--
Ticket URL: <https://core.trac.wordpress.org/ticket/36339>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list