将Harvest Chosen添加到前端post插件

时间:2016-08-31 00:12:33

标签: php wordpress jquery-chosen

我是一个新手,所以我很确定答案可能很简单,但我已经尝试了很多不同的东西,但仍然无法实现。

我有一个插件(Frontier Post)用于在我的Wordpress网站上发布前端。以下代码生成多个帖子类别:

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;
}

这是根据管理仪表板中选择的设置调用创建多选的功能的开关:

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

我尝试回显脚本并使用选择的文件作为源,我尝试回显脚本并将函数放入内部,我将所选文件包含在包含上述代码的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(); });视为正确用法。有人可以提供一些指导吗?

那么,如何将选择的函数添加到这个特定的多重选择中呢?

请帮助。

(注意:我联系了Frontier Post的开发者,但没有回复)

1 个答案:

答案 0 :(得分: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>