0

わかりましたので、オプションの順序を変更できるようにするWordpressプラグインに取り組んでいます。オプションは php の配列として格納されます。つまりupdate_option('box_order',$box_array);、これらのボックスの配列を順番に並べ替えをドラッグできる jQuery UI を持つページにエコーアウトしました。

並べ替えをリッスンし、JS 経由でこの関数を呼び出します

var order = jQuery( "#sortable" ).sortable( "toArray" );//get array of ids in order
jQuery('input.order-display').val(order); //set input field val to order array

これはすべて正常に機能し、シャッフルで新しい順序を表示する input[type=text] を取得します。

ただし、送信ボタンがあり、注文が完了したらフォームを送信する必要があります。問題は、変更できない既存のプラグインと一緒に作業していることです。この PHP プラグインは、入力内容と呼び出しを受け取りますupdate_option('box_order',$_POST['input_name']);

フォームが送信されたときに、私が制御できないプラグインを介してWordpressオプションを更新するために使用されるように、javascript配列をphp配列の構文と正確に一致させる方法について何か提案はありますか. 驚きのプロジェクトであるため、プラグインに名前を付けたくありませんが、オープン ソースの追加機能を構築しています。

JSON.stringify() などについては知っていますが、入力自体の $_POST のみが PHP プラグインによってリッスンされているため、これはオプションではありません。

ありがとう!

4

1 に答える 1

1

次の 2 つのことが考えられます。

  1. ボックスを動的に作成<input name="input_name" />し、通常どおりフォームを送信します。これは私の好みではありません。少しハックです。

  2. AJAX を使用して PHP に投稿し、PHPinput_name: jQuery.param(order)が POST データを配列として扱うようにする形式に配列をシリアル化するために使用します。参照: http://api.jquery.com/jQuery.param/

于 2012-05-10T12:23:34.787 に答える