WordPress.org

Make WordPress Core

Opened 3 years ago

Closed 11 months ago

Last modified 11 months ago

#19449 closed enhancement (wontfix)

Fix Farbtastic to make it work with empty input fields, too

Reported by: BytesForAll Owned by:
Milestone: Priority: normal
Severity: normal Version: 3.3
Component: External Libraries Keywords:
Focuses: Cc:

Description (last modified by SergeyBiryukov)

Farbtastic requires that the color input field has either a color value or at least a '#' character. If it's empty it won't work. This seems like an artificial limitation and requires workarounds if the integrated Farbtastic is used for input fields that may be empty, i.e. for theme or plugin options where the color is optional. If the color fields has a default value there's no issue but having empty color fields is a useful and valid use case.

This could be fixed in /wp-admin/js/farbtastic.js, line 192

Old:

if (this.value && this.value != fb.color) {

New:

if (this.value != fb.color) {

Looks like WP is working around this for the 'custom background' for themes (which is empty by default) by adding a hardcoded '#' and saving the background-color without '#'

/wp-includes/theme.php, line 1772:

$style = $color ? "background-color: #$color;" : '';

/wp-admin/custom-background.php, line 303:

<input type="text" name="background-color" id="background-color" value="#<?php echo esc_attr(get_background_color()) ?>" />

Change History (2)

comment:1 c3mdigital11 months ago

  • Keywords 2nd-opinion removed
  • Resolution set to wontfix
  • Status changed from new to closed

Farbastic 86'd in r22030

comment:2 SergeyBiryukov11 months ago

  • Description modified (diff)
  • Milestone Awaiting Review deleted
Note: See TracTickets for help on using tickets.