Opened 2 days ago
#50036 new enhancement
WP_Screen action property not correct on post edit pages
| Reported by: |
|
Owned by: | |
|---|---|---|---|
| Milestone: | Awaiting Review | Priority: | normal |
| Severity: | minor | Version: | trunk |
| Component: | General | Keywords: | |
| Focuses: | administration | Cc: |
Description
Hello,
I noticed that the WP_Screen current screen action property is not properly initialized on the post edit pages regardless of the post type.
Dump of the WP_Screen object on Add New Post page (accessible via url /wp-admin/post-new.php):
object(WP_Screen)[817]
public 'action' => string 'add' (length=3)
public 'base' => string 'post' (length=4)
private 'columns' => int 0
public 'id' => string 'post' (length=4)
protected 'in_admin' => string 'site' (length=4)
public 'is_network' => boolean false
public 'is_user' => boolean false
public 'parent_base' => null
public 'parent_file' => null
public 'post_type' => string 'post' (length=4)
public 'taxonomy' => string '' (length=0)
private '_help_tabs' =>
array (size=0)
empty
private '_help_sidebar' => string '' (length=0)
private '_screen_reader_content' =>
array (size=0)
empty
private '_options' =>
array (size=0)
empty
private '_show_screen_options' => null
private '_screen_settings' => null
public 'is_block_editor' => boolean true
Dump of the WP_Screen object on Edit Post page (accessible via wp-admin/post.php?post=1&action=edit) :
/home/vagrant/code/general/wp.test/wp-content/plugins/wp-breaking-news/includes/class-wpbn-metabox.php:23:
object(WP_Screen)[818]
public 'action' => string '' (length=0)
public 'base' => string 'post' (length=4)
private 'columns' => int 0
public 'id' => string 'post' (length=4)
protected 'in_admin' => string 'site' (length=4)
public 'is_network' => boolean false
public 'is_user' => boolean false
public 'parent_base' => null
public 'parent_file' => null
public 'post_type' => string 'post' (length=4)
public 'taxonomy' => string '' (length=0)
private '_help_tabs' =>
array (size=0)
empty
private '_help_sidebar' => string '' (length=0)
private '_screen_reader_content' =>
array (size=0)
empty
private '_options' =>
array (size=0)
empty
private '_show_screen_options' => null
private '_screen_settings' => null
public 'is_block_editor' => boolean true
It will be much better if the action property is edit on this screen, it will make it easier to check if it edit page. Currently i have to do something like this
<?php $screen = get_current_screen(); $is_edit = $screen->id === 'post' && isset($_GET['action']) && $_GET['action'] === 'edit';
Expected behavior will be:
<?php $screen = get_current_screen(); $is_edit = $screen->id === 'post' && $screen->action === 'edit';
Note: See
TracTickets for help on using
tickets.