/** * Add the help bubble */ public function generate_script() { $fields = Kirki::$fields; $scripts = array(); foreach ($fields as $field) { $field['help'] = Kirki_Field::sanitize_help($field); $field['settings'] = Kirki_Field::sanitize_settings($field); if (!empty($field['help'])) { $content = "<a href='#' class='tooltip hint--left' data-hint='" . strip_tags(esc_html($field['help'])) . "'><span class='dashicons dashicons-info'></span></a>"; $scripts[] = '$( "' . $content . '" ).prependTo( "#customize-control-' . $field['settings'] . '" );'; } } // No need to echo anything if the script is empty if (empty($scripts)) { return; } // Make sure we don't add any duplicates $scripts = array_unique($scripts); // Convert array to string $script = implode('', $scripts); return $script; }
public function test_sanitize_help() { $this->assertEquals('foo', Kirki_Field::sanitize_help(array('help' => 'foo'))); $this->assertEquals('bar', Kirki_Field::sanitize_help(array('subtitle' => 'foo', 'description' => 'bar'))); $this->assertEquals('bar', Kirki_Field::sanitize_help(array('help' => '<div class="foo">bar</div>'))); $this->assertEquals('', Kirki_Field::sanitize_help(array('subtitle' => 'foo'))); }