2016-08-31 2 views
0

Я новичок, поэтому я уверен, что ответ на этот вопрос, вероятно, очень прост, но я пробовал много разных вещей и до сих пор не могу добраться туда.Добавить Harvest Chosen to frontend post plugin

У меня есть плагин (Frontier Post) для размещения на моем сайте Wordpress. Следующий код создает MULTISELECT почтовых категорий:

Function frontier_post_tax_multi($tmp_cat_list, $tmp_selected, $tmp_name, $tmp_id, $tmp_size) 
{ 
    $tmp_html = '<select class="frontier_post_dropdown" name="'.$tmp_name.'"id="'.$tmp_id.'" multiple="multiple" size="'.$tmp_size.'">'; 

    foreach ($tmp_cat_list as $taxid => $taxname) : 
    $tmp_html = $tmp_html.'<option class="fp_multi" value="'.$taxid.'"'; 

    if ($tmp_selected && in_array($taxid, $tmp_selected)) 
    { 
     $tmp_html = $tmp_html.' selected="selected"'; 
    } 

    $tmp_html = $tmp_html.'>'.$taxname.'</option>'; 
    endforeach; 
    $tmp_html = $tmp_html.'</select>'; 
    return $tmp_html; 
} 

Это переключатель, который вызывает функцию для создания MULTISELECT в зависимости от настроек, выбранных в админ панели управления:

switch ($input_type) 
     { 

     case "single": 
      if (count($tmp_selected) == 0) 
       $tmp_selected[0] = ''; 

      wp_dropdown_categories(array('taxonomy' => $tmp_tax_name, 'id'=>$tmp_field_name, 'exclude' => $exclude_list, 'hide_empty' => 0, 'name' => $tmp_input_field_name, 'orderby' => 'name', 'selected' => $tmp_selected[0], 'hierarchical' => true, 'show_count' => true, 'show_option_none' => __("None", "frontier-post"), 'option_none_value' => '0','class' => 'frontier_post_dropdown')); 
      //echo "selected: ".$tmp_selected[0]."<br>"; 
      break; 

     case "multi": 
      echo frontier_post_tax_multi($tmp_tax_list , $tmp_selected, $tmp_input_field_name, $tmp_field_name, 10); 
      break; 

     case "checkbox": 
      echo frontier_post_tax_checkbox($tmp_tax_list , $tmp_selected, $tmp_input_field_name, $tmp_field_name); 
      break; 

     case "radio": 
      echo frontier_post_tax_radio($tmp_tax_list , $tmp_selected, $tmp_input_field_name, $tmp_field_name); 
      break; 

     case "radioline": 
      echo frontier_post_tax_radioline($tmp_tax_list , $tmp_selected, $tmp_input_field_name, $tmp_field_name); 
      break; 

     case "readonly": 
      echo frontier_post_tax_readonly($tmp_tax_list , $tmp_selected, $tmp_input_field_name, $tmp_field_name); 
      break; 
     } // switch 

Я попытался гулких сценарий и используя Chosen-файл в качестве источника, я попытался повторить скрипт и поместив функцию внутри, я включил выбранный файл в php-файл, который содержит указанный выше код, я использовал wp_enqueue_script, но независимо от того, что я пытаюсь, он не отображается как это должно быть. Я не могу понять.

Это в основном то, что я пытаюсь сделать:

<script src="chosen.jquery.js"></script>; 

<script> 
    $(function() { 
     $(".frontier_post_dropdown").chosen(); 
    }); 
</script>; 

Я изменил имя класса, но это ничего не делать.

Я не знаком с jQuery, и я видел это jQuery(document).ready(function(){ jQuery(".chosen").chosen(); });, описанное как правильное использование. Может ли кто-нибудь дать некоторые рекомендации по этому поводу?

Итак, как я могу добавить функцию Chosen в этот конкретный мультиселектор?

Пожалуйста, помогите.

(Примечание: Я потянулся к Frontier Post разработчика, но не было ответа)

ответ

0

У меня есть подозрение, что проблема может быть путь к выбрал. Кроме того, есть файл css, который нужно включить для использования. Можете ли вы заменить то, что у вас есть с этим?

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/chosen/1.6.2/chosen.min.css"/> 
<script src="https://cdnjs.cloudflare.com/ajax/libs/chosen/1.6.2/chosen.jquery.min.js"></script> 
<script> 
    $(function() { 
     $(".frontier_post_dropdown").chosen(); 
    }); 
</script> 

Вы также можете попробовать заменить значки доллара на jQuery, чтобы узнать, работает ли это. Например:

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/chosen/1.6.2/chosen.min.css"/> 
<script src="https://cdnjs.cloudflare.com/ajax/libs/chosen/1.6.2/chosen.jquery.min.js"></script> 
<script> 
    jQuery(function() { 
     jQuery(".frontier_post_dropdown").chosen(); 
    }); 
</script> 
+0

Большое вам спасибо! Это был и путь, и jQuery. Теперь мой вопрос: поскольку мои исходные файлы не являются локальными, как бы я хотел, например, изменить CSS? – jetgo

+0

@jetgo ​​Вы можете добавить раздел '