/**
  * 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;
 }
예제 #2
0
 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')));
 }