Make WordPress Core

Opened 6 years ago

Last modified 19 months ago

#45516 reopened defect (bug)

Auto Draft title issue for custom post types

Reported by: rajanit2000's profile rajanit2000 Owned by: sergeybiryukov's profile SergeyBiryukov
Milestone: Future Release Priority: normal
Severity: minor Version: 5.0
Component: Posts, Post Types Keywords: has-copy-review has-screenshots needs-testing
Focuses: administration Cc:

Description

I have register post type without title support

$labels = array(
	'name'               => _x( 'Social posts', 'post type general name', 'text-domain' ),
	'singular_name'      => _x( 'Social post', 'post type singular name', 'text-domain' ),
	'menu_name'          => _x( 'Social posts', 'admin menu', 'text-domain' ),
	'name_admin_bar'     => _x( 'Social post', 'add new on admin bar', 'text-domain' ),
	'add_new'            => _x( 'Add New', 'social-post', 'text-domain' ),
	'add_new_item'       => __( 'Add New Social post', 'text-domain' ),
	'new_item'           => __( 'New Social post', 'text-domain' ),
	'edit_item'          => __( 'Edit Social post', 'text-domain' ),
	'view_item'          => __( 'View Social post', 'text-domain' ),
	'all_items'          => __( 'All Social posts', 'text-domain' ),
	'search_items'       => __( 'Search Social posts', 'text-domain' ),
	'parent_item_colon'  => __( 'Parent Social posts:', 'text-domain' ),
	'not_found'          => __( 'No social-posts found.', 'text-domain' ),
	'not_found_in_trash' => __( 'No social-posts found in Trash.', 'text-domain' )
);
$args = array(
	'labels'             => $labels,
	'description'        => __( 'Description.', 'text-domain' ),
	'public'             => true,
	'publicly_queryable' => true,
	'show_ui'            => true,
	'show_in_menu'       => true,
	'query_var'          => true,
	'rewrite'            => array( 'slug' => 'social-post' ),
	'capability_type'    => 'post',
	'has_archive'        => true,
	'hierarchical'       => false,
	'menu_position'      => 10,
	'menu_icon'          => 'dashicons-id',
	'delete_with_user'   => true,
	'can_export'         => true,
	'show_in_rest'       => true,
	'supports'           => array( 'editor' )
);
register_post_type( 'social-post', $args );

And if i add post the list post page shows title as "Auto Draft"

Attachments (5)

Screenshot from 2018-12-07 14-19-05.png (20.2 KB) - added by rajanit2000 6 years ago.
45516.patch (562 bytes) - added by rajanit2000 6 years ago.
Add default title option
Screen Shot 2019-08-22 at 3.46.40 PM.png (174.9 KB) - added by donmhico 5 years ago.
45516.2.diff (573 bytes) - added by garrett-eclipse 4 years ago.
Refreshed patch to take into account copy review of (no title supported)
Screen Shot 2020-10-16 at 11.59.20 PM.png (18.6 KB) - added by garrett-eclipse 4 years ago.
Test of a post type that doesn't support title

Download all attachments as: .zip

Change History (45)

@rajanit2000
6 years ago

Add default title option

#1 @rajanit2000
6 years ago

  • Keywords has-patch added

#2 @SergeyBiryukov
6 years ago

  • Component changed from Editor to Posts, Post Types
  • Focuses administration added

This ticket was mentioned in Slack in #design by boemedia. View the logs.


5 years ago

#4 @nrqsnchz
5 years ago

Hi @rajanit2000!

Would you mind clarifying what the issue is?
Is the fact that the list post page shows the title as "Auto Draft" a bug? Where you expecting something else?

#5 @rajanit2000
5 years ago

I have registered a new post type and its only support "editor" using this code

'supports'           => array( 'editor' )

And create a post in this post type and published it. But the listing page only shows the title is "Auto Draft"

Does it make sense?

Refer my screen record
https://www.loom.com/share/ebadb2bd8f934c20bc96d1841bef04f8

This ticket was mentioned in Slack in #core by rajanit2000. View the logs.


5 years ago

#7 @nrqsnchz
5 years ago

But the listing page only shows the title is "Auto Draft"

@rajanit2000 What title were you expecting to see?

#8 @rajanit2000
5 years ago

@nrqsnchz I think "No Title" is the better word

#10 @SergeyBiryukov
5 years ago

  • Milestone changed from Awaiting Review to 5.3
  • Owner set to SergeyBiryukov
  • Status changed from new to reviewing

This ticket was mentioned in Slack in #design by karmatosed. View the logs.


5 years ago

#12 @garrett-eclipse
5 years ago

  • Keywords 2nd-opinion added; ui-feedback removed

Thanks @rajanit2000 the patch looks good. Discussing in #design Slack (A WordPress.org slack account is required to view that link) today and the idea of making the string a customizable label when registering the post type seems like it could have some merit. Going to switch this from ui-feedback to 2nd-opinion to get thoughts on if having it be a customizable label makes sense or if just going with '(no title)' here is the extent we want to go here.

#13 @donmhico
5 years ago

Thanks for the ticket @rajanit2000. I'm no longer able to reproduce the issue. I can't find the exact Changeset at the moment. But what I can tell is that class-wp-posts-list-table.php - https://core.trac.wordpress.org/browser/tags/5.2/src/wp-admin/includes/class-wp-posts-list-table.php#L1007 - uses _draft_or_post_title() - https://developer.wordpress.org/reference/functions/_draft_or_post_title/ - to determine the title displayed in wp-admin/edit.php.

I used the same code as you provided above to create a custom post type without title support. And what I tried to create a post. This is what I can see - https://core.trac.wordpress.org/attachment/ticket/45516/Screen%20Shot%202019-08-22%20at%203.46.40%20PM.png

#14 @garrett-eclipse
5 years ago

  • Milestone changed from 5.3 to 5.4

Thanks @donmhico for testing, I ran through myself and was able to reproduce the issue on Trunk w/ Twenty Twenty and the code provided in the description. Looking at the code base when you go to add a post it creates the auto-draft w/ title of 'Auto-Draft'. Reviewing code there's a few ways you can avoid the auto-draft such as disabling the functionality or providing a post_title on the request, you can also avoid it by programatically creating the post. @donmhico maybe you circumvented it somehow, would you mind retesting on trunk and confirm you are or aren't seeing the issue now.

As there's some work to be done here and a decision needed on behaviour I'm going to move this into 5.4 to address there as we're already in beta2 for 5.3.

The item requiring 2nd-opinion is;
"Going to switch this from ui-feedback to 2nd-opinion to get thoughts on if having it be a customizable label makes sense or if just going with '(no title)' here is the extent we want to go here."
@SergeyBiryukov do you have any thoughts on a customizable label or just using (no title)?

Last edited 5 years ago by garrett-eclipse (previous) (diff)

#15 @donmhico
5 years ago

@garrett-eclipse - I used a fresh installation using the trunk after you get my attention to re-test and:

  1. I was able to reproduce the error now.
  2. The fix still applies cleanly.

Regarding the use of '(no title)', maybe we can use something like '(Not supported)' or '(Not applicable)' instead? Creating a post without a title in a post types that support titles uses '(no title)' which indicates that the post has no title but can have a title. So using a label that indicates that title isn't supported on post types that doesn't support it seems like a better idea. What do you guys think?

#16 @garrett-eclipse
5 years ago

  • Keywords needs-copy-review added

Thanks @donmhico for confirming, and I agree it is a little misleading which may be a reason to go with the custom label option there. Leaving open for opinion and marking for some copy-review would be nice to get thoughts on an alternative to (no title) in the cases the post type doesn't support titles.

#17 @rajanit2000
5 years ago

When this ticket will be solved?

This ticket was mentioned in Slack in #meta by rajanit2000. View the logs.


5 years ago

#19 follow-ups: @garrett-eclipse
5 years ago

Hi @rajanit2000 I milestoned this into 5.4 and hope it is addressed within that release. It's currently awaiting a 2nd-opinion and needs-copy-review which will hopefully come once devs start working through the 5.4 milestone.
*In hopes of getting a copy-review going to ping @marybaum

Mary, the part specific to copy review;
'would be nice to get thoughts on an alternative to (no title) in the cases the post type doesn't support titles.'

#20 in reply to: ↑ 19 @marybaum
5 years ago

Replying to garrett-eclipse:

Hi @rajanit2000 I milestoned this into 5.4 and hope it is addressed within that release. It's currently awaiting a 2nd-opinion and needs-copy-review which will hopefully come once devs start working through the 5.4 milestone.
*In hopes of getting a copy-review going to ping @marybaum

Mary, the part specific to copy review;
'would be nice to get thoughts on an alternative to (no title) in the cases the post type doesn't support titles.'

I'm on it! Thanks for the heads-up!

#21 @audrasjb
5 years ago

  • Milestone changed from 5.4 to Future Release

Hi,

Looks like this patch unfortunately still needs copy review.

With 5.4 Beta 3 approaching and the Beta period reserved for bugs introduced during the cycle, this is being moved to Future Release. If any maintainer or committer feels this should be included or wishes to assume ownership during a specific cycle, feel free to update the milestone accordingly.

#22 in reply to: ↑ 19 @bridgetwillard
4 years ago

Copy Review of "(no title)"

Hi @garrett-eclipse am I understanding this correctly?

The CPT doesn't support any title whatsoever.

Therefore, the Title is Not Applicable.

Suggested Copy

'(N/A)' or '(Title Not Applicable)' or '(Title N/A)'

Replying to garrett-eclipse:

Hi @rajanit2000 I milestoned this into 5.4 and hope it is addressed within that release. It's currently awaiting a 2nd-opinion and needs-copy-review which will hopefully come once devs start working through the 5.4 milestone.
*In hopes of getting a copy-review going to ping @marybaum

Mary, the part specific to copy review;
'would be nice to get thoughts on an alternative to (no title) in the cases the post type doesn't support titles.'

#23 @garrett-eclipse
4 years ago

Thanks @bridgetwillard greatly appreciated, yes that's the part and concept exactly. Re-reading I wonder if we use the 'support' term that's used in the register_post_type() method as documented here (search 'supports');
https://developer.wordpress.org/reference/functions/register_post_type/

Maybe just append 'supported' to what we have already;
(no title supported)
Or
(title not supported)

Thoughts?

#24 @bridgetwillard
4 years ago

  • Keywords has-copy-review added; needs-copy-review removed

Excellent point, @garrett-eclipse.

I would go with (no title supported).

'(title not supported)' feels unclear to me.

Cheers.

@garrett-eclipse
4 years ago

Refreshed patch to take into account copy review of (no title supported)

@garrett-eclipse
4 years ago

Test of a post type that doesn't support title

#25 @garrett-eclipse
4 years ago

  • Keywords commit added; 2nd-opinion removed
  • Milestone changed from Future Release to 5.6

Thanks for the copy review @bridgetwillard I've updated the patch in 45516.2.diff I think this is good to go so am going to see if we can land it in 5.6.

@SergeyBiryukov would you like to review the latest please.

#26 @garrett-eclipse
4 years ago

  • Keywords has-screenshots added

#27 @SergeyBiryukov
4 years ago

  • Resolution set to fixed
  • Status changed from reviewing to closed

In 49288:

Posts, Post Types: Set better default title for custom post types without title support.

The default title is now set to "(no title supported)" instead of "Auto Draft".

Props garrett-eclipse, rajanit2000, bridgetwillard, donmhico, nrqsnchz.
Fixes #45516.

#28 @TimothyBlynJacobs
4 years ago

Has this been tested against Gutenberg? The plugin does some manual checks against "Auto Draft" being the title.

#29 @SergeyBiryukov
4 years ago

  • Keywords has-patch commit removed
  • Resolution fixed deleted
  • Status changed from closed to reopened

Thanks, reopening to see if any additional changes are needed.

#30 @SergeyBiryukov
4 years ago

  • Keywords needs-testing added

#31 @SergeyBiryukov
4 years ago

It looks like line 475 in core-data package needs an update to account for the new value as well.

Haven't found any other instances.

This ticket was mentioned in Slack in #core by hellofromtonya. View the logs.


4 years ago

#33 @joyously
4 years ago

It seems like the Post List Table class should check for title support and use something else to differentiate the posts if no title is supported. How is the user supposed to find the post to edit when the link is on the title, which isn't supported? (I guess they will have code to add a column for something else.)

#34 @hellofromTonya
4 years ago

Notes from today's scrub:

Per Sergey

Here: https://github.com/WordPress/gutenberg/blob/c33f007d70ed5978d433b1069af23db1c2d94c2f/packages/core-data/src/actions.js#L475
It's not quite clear why it only seems to compare to a non-translated title :thinking_face:
I can open an issue [ie in GB]

This ticket was mentioned in Slack in #core by hellofromtonya. View the logs.


4 years ago

#36 @helen
4 years ago

  • Milestone changed from 5.6 to 5.7

Reverting this from 5.6 and moving to 5.7 to try again due to lack of update in Gutenberg package and being ~24 hours from RC. I would like to think through a different string as well if we could, (no title supported) manages to be both too technical and not descriptive enough at the same time for me, which makes it sound alarming or like something has gone wrong if you are not somebody who understands that you can turn off title support for a post type.

More broadly I do not love when CPTs do this and have the admin interface exposed without coming up with a user-friendly way of differentiating items. Not sure if there's also something we can do here to nudge them a certain way.

Last edited 4 years ago by helen (previous) (diff)

#37 @helen
4 years ago

In 49614:

Posts, Post Types: Go back to "Auto Draft" for CPTs without title support.

Reverts [49288] due to late point in 5.6 cycle and lack of update in Gutenberg package to account for the string change.
See #45516.

#38 @hellofromTonya
4 years ago

@SergeyBiryukov Did you get a chance to open an issue upstream in Gutenberg for this one? See notes in slack https://wordpress.slack.com/archives/C02RQBWTW/p1604951464174800

#39 @hellofromTonya
4 years ago

  • Milestone changed from 5.7 to Future Release

With 5.7 RC1 landing tomorrow and no activity on this ticket since 5.6, punting this ticket to Future Release.

If any maintainer or committer feels this can be resolved in time, or wishes to assume ownership during a specific cycle, feel free to update the milestone accordingly.

#40 @Cybr
19 months ago

If the post type had support for titles but lost it, the last stored value will be unalterable but still used.

Therefore, I think it's best to (also) have a post_type_supports() check in single_post_title().

This (extra) check may impact developers that deliberately removed support but have prefilled the value. But I think this is where they had to filter single_post_title instead.

Note: See TracTickets for help on using tickets.