0

Wordpressがメディアアップローダーの代わりに3.5以降に使用する新しい「メディアマネージャー」を使用するように、「アップロード」タイプに基づいてNHPテーマオプションフレームワークの新しいフィールドタイプを作成するのを手伝ってもらえますか。これは、スライダーで使用する場合に非常に便利です。

たぶん、この投稿は役に立ちます。

4

4 に答える 4

1

運が良ければ、これと同じ機能が必要でした。コードを見て、古いメディアマネージャーと同じオーバーライド手法を適用することで、なんとかそれを行うことができました。

実際、私はそれについてのチュートリアルをここに書きました。

javascriptコードは次のとおりです。

(function($){
    var doc = {
        ready: function(){
            // initialize only if our button is in the page
            if($('#btn_browse_files').length > 0){
                slider.init();
            }
        }
    },
    slider = {
        // the following 2 objects would be our backup containers
        // as we will be replacing the default media handlers
        media_send_attachment: null,
        media_close_window: null,
        init: function(){
            // bind the button's click the browse_clicked handler
            $('#btn_browse_files').click(slider.browse_clicked);
        },
        browse_clicked: function(event){
            // cancel the event so we won't be navigated to href="#"
            event.preventDefault();

            // backup editor objects first
            slider.media_send_attachment = wp.media.editor.send.attachment;
            slider.media_close_window = wp.media.editor.remove;

            // override the objects with our own
            wp.media.editor.send.attachment = slider.media_accept;
            wp.media.editor.remove = slider.media_close;

            // open up the media manager window
            wp.media.editor.open();
        },
        media_accept: function(props, attachment){
            // this function is called when the media manager sends in media info
            // when the user clicks the "Insert into Post" button
            // this may be called multiple times (one for each selected file) 
            // you might be interested in the following:
            // alert(attachment.id); // this stands for the id of the media attachment passed
            // alert(attachment.url); // this is the url of the media attachment passed
            // for now let's log it the console
            // not you can do anything Javascript-ly possible here
            console.log(props);
            console.log(attachment);
        },
        media_close: function(id){
            // this function is called when the media manager wants to close
            // (either close button or after sending the selected items)

            // restore editor objects from backup
            wp.media.editor.send.attachment = slider.media_send_attachment;
            wp.media.editor.remove = slider.media_close_window;

            // nullify the backup objects to free up some memory
            slider.media_send_attachment= null;
            slider.media_close_window= null;

            // trigger the actual remove
            wp.media.editor.remove(id);
        }
    };
    $(document).ready(doc.ready);
})(jQuery);
于 2012-12-18T11:56:37.140 に答える
0

vafpressテーマフレームワークのgithubコードスニペットの使用法をご覧ください。

WP<3.5フォールバックのメディアマネージャー

コードには、この変数(vp_wp.use_new_media_upload)もあります。この変数は、を介してJSコードに「公開」する必要があります。この変数wp_localize_scriptは、実行しているWordpressが3.5未満かどうかを示すために必要です。3.5未満の場合は、新しいメディアマネージャーを使用しないでください。thickboxmedia-upload.phpiframeを使用して古い方法を使用してください。

于 2013-01-20T11:31:21.520 に答える
0

fyi ... http://reduxframework.com/はNHPのフォークであり、3.5メディアローダーを追加し、NHPの他の領域も修正しました。

私はただ切り替えたばかりで、今のところ悪くはありません。

于 2013-01-11T08:34:29.410 に答える
0

NHPはReduxFrameworkと統合されたばかりで、Redux3.0がリリースされました。Wordpressプラグインとして実行することも、テーマ内に埋め込むこともできます。あなたは本当に新しいバージョンを試してみるべきです。

http://wordpress.org/plugins/redux-framework/

Wordpressメディア3.5を完全にサポートし、さらにいくつかをサポートします。メディアのURLだけでなく、IDとフルサイズも保存されます。

真剣に、それをチェックしてください。

于 2013-11-01T04:38:58.493 に答える