2016-08-31 9 views
0

私は初心者ですので、これに対する答えはおそらく非常に簡単ですが、私はいろいろなことを試しましたが、まだそこにはいられません。フロントエンドのポストプラグインにHarvest Chosenを追加してください

私はWordpressサイトでフロントエンドの投稿用プラグイン(Frontier Post)を持っています。次のコードは、ポストのカテゴリの複数選択を生成します。

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 

私はスクリプトをエコー試してみました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機能を追加するにはどうすればよいですか?

お願いします。

(注:私はフロンティアポスト開発者に手を伸ばしたが、応答がなかった)

答えて

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選択したCSSファイルをインクルードし、変更したいデフォルトのスタイルを上書きした後で、 ''セクションを追加することができます。実際にはおそらくCSSを変更するための推奨された方法です。通常、パッケージに付属するCSSファイルは変更しないことをお勧めします。 –

+0

うん、それを理解して、それは私がそれをやっている方法です。どうもありがとう。 – jetgo

関連する問題