やりたいこと
wordpressでフロントエンドからカスタムフィールドの値を
複数変更できるようにしたいです。
つまづいていること
ひとつしか変更できない
やってみたこと
- function.php
- post.php
それぞれ編集しました。
ソースを貼ります。
function.php
php
1add_action( 'wp_ajax_update_info', 'update_info',10,15); 2function update_info(){ 3 $my_nonce = isset($_POST['_wpnonce']) ? $_POST['_wpnonce'] : null; 4 5 if( wp_verify_nonce( $my_nonce, 'UPDATEINFO' ) ){ 6 7 $post_id = filter_input( INPUT_POST, 'post_id', FILTER_SANITIZE_NUMBER_INT ); 8 //みかん 9 $みかん = filter_input( INPUT_POST, 'みかん', FILTER_SANITIZE_STRING ); 10 if( !empty( $みかん ) ){ 11 return update_post_meta( $post_id, 'みかん', $みかん ); 12 } 13 } 14 15 if( wp_verify_nonce( $my_nonce, 'UPDATEINFO' ) ){ 16 17 $post_id = filter_input( INPUT_POST, 'post_id', FILTER_SANITIZE_NUMBER_INT ); 18 //いちご 19 $いちご = filter_input( INPUT_POST, 'いちご', FILTER_SANITIZE_STRING ); 20 if( !empty( $いちご ) ){ 21 return update_post_meta( $post_id, 'いちご', $いちご ); 22 } 23 } 24}
post.php
php
1<div id="InfoForm"> 2 <form name="Info" id="Info"> 3 <input type="hidden" name="post_id" value="<?php echo $post->ID;?>" > 4 5 <p>公式URL</p> 6 <input id="みかん" name="みかん" placeholder="<?php the_field('みかん'); ?>"> 7 8 <p>表示金額</p> 9 <input id="いちご" name="いちご" placeholder="<?php the_field('いちご'); ?>"> 10 11 <input class="submitbtn" type="submit" value="情報を更新"> 12 13 <?php wp_nonce_field('UPDATEINFO'); ?> 14 </form> 15</div>
実際にはカスタムフィールドは10個以上ありますが仕組みは上記のとおりです。
凡ミスだったり、なにか根源的な漏れも考えられます。
どうか救いの手を差し伸べて頂けますと幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/07 03:33