WordPress.org

Make WordPress Core

Opened 2 years ago

Last modified 22 months ago

#42791 assigned enhancement

wp_add_dashboard_widget() should accept location and priority parameters

Reported by: johnbillion Owned by: davidjlaietta
Milestone: Awaiting Review Priority: normal
Severity: normal Version:
Component: Administration Keywords: good-first-bug has-patch has-unit-tests
Focuses: Cc:
PR Number:

Description

The wp_add_dashboard_widget() function should accept $location and $priority parameters to bring the function inline with add_meta_box(), which it ultimately calls.

Attachments (5)

42791.diff (2.4 KB) - added by davidjlaietta 2 years ago.
42791.2.diff (2.5 KB) - added by davidjlaietta 22 months ago.
42791.3.diff (2.2 KB) - added by soulseekah 22 months ago.
Why not set $priority = 'core' and $location = 'normal' to begin with? Why the whole 'default' dance? See 3rd diff version based on 2nd. Also removed tabs from docblock.
42791.4.diff (2.5 KB) - added by soulseekah 22 months ago.
Enforce default priority and location when null is supplied
42791.tests.diff (1.9 KB) - added by soulseekah 22 months ago.
The unit test

Download all attachments as: .zip

Change History (10)

@davidjlaietta
2 years ago

#1 @davidjlaietta
2 years ago

Attached diff includes $location and $priority arguments, and maintains similar logic for wp_add_dashboard_widget.

If location is not set, it'll be set to normal unless it's a side widget. If priority is not set it will be set to core unless dashboard_browser_nag is set, then it'll be set to high.

New usage:

wp_add_dashboard_widget( 'widget_id', 'Widget Name', callback_function, control_callback, array(), 'side', 'high' );

#2 @chetan200891
2 years ago

  • Keywords has-patch added; needs-patch removed

#3 @DrewAPicture
22 months ago

  • Keywords needs-unit-tests added
  • Owner set to davidjlaietta
  • Status changed from new to assigned

Hi @davidjlaietta, thanks for the patch! I've assigned the ticket to you to mark this good-first-bug as "claimed". Sorry for the delay in response.

I did a first pass on the patch, and the big standouts that are still missing are changelog entries for the new parameters in the DocBlock, and we could probably also benefit from unit tests here as well.

For info on changelog entries, check out this article in the core handbook.

#4 @davidjlaietta
22 months ago

The updated patch includes a changelog entry in the docblock

@soulseekah
22 months ago

Why not set $priority = 'core' and $location = 'normal' to begin with? Why the whole 'default' dance? See 3rd diff version based on 2nd. Also removed tabs from docblock.

@soulseekah
22 months ago

Enforce default priority and location when null is supplied

@soulseekah
22 months ago

The unit test

#5 @soulseekah
22 months ago

  • Keywords has-unit-tests added; needs-unit-tests removed
Note: See TracTickets for help on using tickets.