[wp-trac] [WordPress Trac] #45404: Autosave fails for custom post type item that belongs to a non-publicly_queryable post type

WordPress Trac noreply at wordpress.org
Fri Nov 23 13:34:35 UTC 2018


#45404: Autosave fails for custom post type item that belongs to a non-
publicly_queryable post type
--------------------------+-----------------------------
 Reporter:  kmgalanakis   |      Owner:  (none)
     Type:  defect (bug)  |     Status:  new
 Priority:  normal        |  Milestone:  Awaiting Review
Component:  Editor        |    Version:  5.0
 Severity:  normal        |   Keywords:
  Focuses:                |
--------------------------+-----------------------------
 To reproduce this create a CPT:

 {{{#!php
 <?php
 function custom_post_type() {

         $labels = array(
                 'name'                  => _x( 'Post Types', 'Post Type
 General Name', 'text_domain' ),
                 'singular_name'         => _x( 'Post Type', 'Post Type
 Singular Name', 'text_domain' ),
                 'menu_name'             => __( 'Post Types', 'text_domain'
 ),
                 'name_admin_bar'        => __( 'Post Type', 'text_domain'
 ),
                 'archives'              => __( 'Item Archives',
 'text_domain' ),
                 'attributes'            => __( 'Item Attributes',
 'text_domain' ),
                 'parent_item_colon'     => __( 'Parent Item:',
 'text_domain' ),
                 'all_items'             => __( 'All Items', 'text_domain'
 ),
                 'add_new_item'          => __( 'Add New Item',
 'text_domain' ),
                 'add_new'               => __( 'Add New', 'text_domain' ),
                 'new_item'              => __( 'New Item', 'text_domain'
 ),
                 'edit_item'             => __( 'Edit Item', 'text_domain'
 ),
                 'update_item'           => __( 'Update Item',
 'text_domain' ),
                 'view_item'             => __( 'View Item', 'text_domain'
 ),
                 'view_items'            => __( 'View Items', 'text_domain'
 ),
                 'search_items'          => __( 'Search Item',
 'text_domain' ),
                 'not_found'             => __( 'Not found', 'text_domain'
 ),
                 'not_found_in_trash'    => __( 'Not found in Trash',
 'text_domain' ),
                 'featured_image'        => __( 'Featured Image',
 'text_domain' ),
                 'set_featured_image'    => __( 'Set featured image',
 'text_domain' ),
                 'remove_featured_image' => __( 'Remove featured image',
 'text_domain' ),
                 'use_featured_image'    => __( 'Use as featured image',
 'text_domain' ),
                 'insert_into_item'      => __( 'Insert into item',
 'text_domain' ),
                 'uploaded_to_this_item' => __( 'Uploaded to this item',
 'text_domain' ),
                 'items_list'            => __( 'Items list', 'text_domain'
 ),
                 'items_list_navigation' => __( 'Items list navigation',
 'text_domain' ),
                 'filter_items_list'     => __( 'Filter items list',
 'text_domain' ),
         );
         $args = array(
                 'label'                 => __( 'Post Type', 'text_domain'
 ),
                 'description'           => __( 'Post Type Description',
 'text_domain' ),
                 'labels'                => $labels,
                 'supports'              => array( 'title', 'editor' ),
                 'taxonomies'            => array( 'category', 'post_tag'
 ),
                 'hierarchical'          => false,
                 'public'                => true,
                 'show_ui'               => true,
                 'show_in_menu'          => true,
                 'menu_position'         => 5,
                 'show_in_admin_bar'     => true,
                 'show_in_nav_menus'     => true,
                 'can_export'            => true,
                 'has_archive'           => true,
                 'exclude_from_search'   => false,
                 'publicly_queryable'    => false,
                 'capability_type'       => 'page',
                 'show_in_rest'          => true,
         );
         register_post_type( 'post_type', $args );

 }
 add_action( 'init', 'custom_post_type', 0 );
 }}}

 Then create an item and publish. After the item is saved, edit the title
 and wait until the autosave is triggered. The autosave fails without any
 JS error.

 Also if you make the CPT set "public" to false but "publicly_queryable" to
 true and create and publish an item after I refresh the editor I get the
 following JS error:


 {{{
 TypeError: Cannot read property 'prefix' of null
     at PostLink (edit-post.js?ver=3.1.2:4769)
     at ph (react-dom.min.js?ver=16.6.3:97)
     at eg (react-dom.min.js?ver=16.6.3:125)
     at fg (react-dom.min.js?ver=16.6.3:126)
     at wc (react-dom.min.js?ver=16.6.3:138)
     at fa (react-dom.min.js?ver=16.6.3:137)
     at gg (react-dom.min.js?ver=16.6.3:135)
     at Ca (react-dom.min.js?ver=16.6.3:133)
     at Object.enqueueSetState (react-dom.min.js?ver=16.6.3:191)
     at ComponentWithSelect.q.setState (react.min.js?ver=16.6.3:20)
 }}}

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


More information about the wp-trac mailing list