web-dev-qa-db-ja.com

フロントエンドにwp 3.5+用の新しいメディアアップローダーを追加する

ユーザーがフロントエンドからコンテンツを送信するためのフォームを作成します。唯一の問題は、画像のアップロードを処理する方法がわからないことです。

だから、私はフロントエンドでWPメディアアップローダを使う方法を知りたいのです。メディアアップローダは 'wp-admin/media-new.php'のように見えるはずです。それがpost/pageページに見られるように、私はアップローダのポップアップ版が欲しくありません。それは私がユーザーに使いたくない他の機能、例えば 'メディアライブラリー'、 'ギャラリーの作成'、 'おすすめ画像の設定'などがあるからです.

その方法についてのチュートリアルやドキュメントはありますか?

ありがとう

1
ron_dev

このコードをテーマのfunctions.phpファイルに追加してください。

function add_media_upload_scripts() {
    if ( is_admin() ) {
         return;
       }
    wp_enqueue_media();
}
add_action('wp_enqueue_scripts', 'add_media_upload_scripts');

これにより、メディアアップロードファイルがフロントエンドページにロードされます。それらが必要とされる特定の1ページにのみそれらをロードしたい場合は、表示されているページが必要な特定のページであるかどうかを確認するためにwp_enqueue_media()is_page()ステートメントでラップすることができます。

その後、このチュートリアルの指示に従うことができます。 http://codestag.com/how-to-use-wordpress-3-5-media-uploader-in-theme-options/

3
Bryan Gentry

ajaxは /wp-admin/media-upload.php を要求しているので、開始するには良い位置があります。

それはアクションを呼び出します: /wp-admin/includes/media.php#L2512 からのmedia_upload_imageの例として、 "media_upload_ $ type"

それは関数 wp_media_upload_handler() に接続されています

あなたはそこからさらに深く掘ることができます。 (私は今すぐ寝る必要があります:-))

0
Puggan Se

これが results です。これは私が行ったGoogle検索の結果です。 Frontend Uploader

チュートリアルが利用可能である限り、それはあなたが良い方向に始められるようにするべきです。

がんばろう

0