私はカスタムの投稿の種類があり、商品と呼ぶことができます。ユーザーがこの商品をショッピングカート(droppable jQuery UI)にドラッグすると、カスタムポストタイプの「金額」というキーを1つ減らすことができます。JSONを使用してWordpressのカスタム投稿の種類を更新する
これまでのところ、私はこのようになりますjQueryの$のアヤックスを経由してJSONの機能を持っている:
$.ajax({ url: 'http://localhost:8888/MAMP/nogg/wordpress/wp-content/themes/twentyeleven/functions.php',
data: { postid: +id },
type: 'post',
success: function(output) {
alert("amount is reduced by 1.");
}
});
これはのfunctions.phpにポストのIDを送信し、私は私の中のデータを取得するためにこれを使用しますfunctions.php
if(isset($_POST['postid']) && !empty($_POST['postid'])) {
$postid = $_POST['postid'];
$response = json_decode($postid);
remove_amount($response);
}
postidで関数を呼び出します。
function remove_amount($postid) {
$amount = get_post_meta($postid, 'amount', true);
update_post_meta($postid, 'amount', $amount--);
}
これは私に500エラーを与え、私はそれが送信された正しいIDだことを確認した、とキー(量)を含むフィールドの名前をチェックしました。
ここで私のダムの自己は何ですか?
はい、それは良い点です。私はちょうどここに来る前に最後の溝の努力としてそこにそれを投げた。それはいずれの方法でも動作しません。答えてくれてありがとう、json_decodeを使う理由と理由:) – ninja
ああそう!私はphp_error.logを調べることができます。エラーログには次のようなメッセージが表示されます:PHP致命的なエラー:/Applications/MAMP/bin/mamp/nogg/wordpress/wp-content/themes/twentyeleven/functions.phpの706行目にある定義されていない関数get_post_meta()を呼び出して、 functions.phpにjsonを処理することを妨げる何かがありますか?関数で新しい.phpファイルを読み込もうとしますか? – ninja