2016-09-14 1 views
0

私のテーマで標準のWordpressギャラリーをカスタマイズしています。サムネイルの境界線の色を(ギャラリー設定の列に)選択し、Wordpressのカラーピッカーを使用しようとするオプションを追加しました。これでカラーピッカーを初期化する方法は次のとおりです。Wordpress、メディアギャラリーのポップアップを開くときにjQuery関数を初期化する

(function($) { 

    $(function() { 
     $('body').on('click', '.color-field', function() { 
     $('.color-field').wpColorPicker(); 
     }); 
    }); 

})(jQuery); 

これは私が今すぐ動作させるための唯一の方法です。 WordPressのメディアポップアップを開くと、カラーフィールドが動的に追加されるためです。しかし、今は、カラーフィールドがクリックされたときにのみ初期化されます。メディアポップアップが読み込まれたときにカラーピッカーを初期化する方法を探しています。使用できるWordpressポップアップコールバックはありますか?

+0

あなたはメディアアップローダーを意味していますか? – Sam0

+0

はい。メディアアップローダー、ギャラリータブ。 – Julia

答えて

0

これは単なるコメントになるはずだったが、あまりにも大きな成長してきましたが、それは適切な答えではありません。

これは私も、現時点では、テーマへの統合に取り組んでいるものです。あなたのケースでは、最も簡単で簡単な方法は、wpColorPickerのクリックコールをmedia-uploaderを呼び出す同じdivタグにアタッチすることです。または、を参照して、$('#__wp-uploader-id-2') divのcss display 'block'属性の変更。 2番目の方法は、アップローダを開いたときにコールバックにthickbox機能を拡張することです(アップローダはthickbox内にあります)。 3番目の方法は、メディアのアップローダのjs機能を拡張することですが、これに慣れていません。

それは助け、長期的には私が(私は一度に複数を使用していた)colorPickersオプションおよびレイアウトコントロールに対処することは多くの仕事であることが判明し、そして最後に発見され、これを実装した場合:https://acko.net/blog/farbtastic-jquery-color-picker-plug-in/

更新:アップローダーのコールバック関数を拡張したhttps://wordpress.stackexchange.com/questions/92415/image-upload-callback-in-new-3-5-mediaからこれを見つけた:あなたは「メディアがポップアップ」と言うとき

$.extend(wp.Uploader.prototype, { 
    init : function(){ 
     console.log('uploader is initialised'); 
     $('.color-field').wpColorPicker(); // not sure exactly when it initialises ? 
    }, 
    success : function(filename){ 
     console.log('uploader has loaded: '+ filename); 
     $('.color-field').wpColorPicker(); // or you might want to add the colorbox once a file is actually uploaded? 
    }, 
}); 

幸運

関連する問題