使用プラグイン Advanced Custom Fields
WPのクイック編集のラジオボタンを選択肢更新した後にサイドクイック編集をクリックするとラジオボタンの保存ができずにチェックが取れてしまいます。
jQueryでラジオボタンの保存の記述を書いたのですが、多分正しくないようで動作しない状態です。わかる方教えてください。
参考サイト https://increment-log.com/quickedit-custom-field/
カスタムフィールド名
publish_type
ラジオボタン選択肢
free : 無
premium : 有
main.js
//クイック編集保存 (function($) { var $wp_inline_edit = inlineEditPost.edit; inlineEditPost.edit = function( id ) { $wp_inline_edit.apply( this, arguments ); var $post_id = 0; if ( typeof( id ) == 'object' ) $post_id = parseInt( this.getId( id ) ); if ( $post_id > 0 ) { var $edit_row = $( '#edit-' + $post_id ); var $post_row = $( '#post-' + $post_id ); //天気情報を表示(チェックボックス) var $premium = $('.column-premium>*', $post_row).prop('checked') $( ':input[name="free"]', $edit_row ).prop('checked',true, $premium ); console.log($premium); var $premium = $('.column-premium>*', $post_row).prop('checked') $( ':input[name="free"]', $edit_row ).prop('checked',true, $premium ); console.log($premium); var $newprice= $( '.column-publish_type', $post_row ).html(); $( ':input[name="premium"]', $edit_row ).val( $newprice ); console.log($newprice); } }; })(jQuery);
ボタン出力してるPHP
//クイック編集にカスタムフィールドの入力フォームを表示 function display_my_custom_quickedit($publish_name, $post_type) { static $print_nonce = TRUE; if ($print_nonce) { $print_nonce = FALSE; wp_nonce_field('quick_edit_action', $post_type . '_edit_nonce'); //CSRF対策 } ?> <fieldset class="inline-edit-col-right inline-custom-meta"> <div class="inline-edit-col column-<?php echo $publish_name ?>"> <?php switch ($publish_name) { case 'publish_type': ?><span class="title">状況</span><br> <label style="background: #fff;padding: 0px 0 0 10px;border: 1px solid #ddd;"><input class="free" type="radio" name="free" value="free">無<br></label> <label style="background: #fff;padding: 0px 0 0 10px;border: 1px solid #ddd;"><input class="premium" type="radio" name="free" value="premium">有</label> <?php break; } ?> </div> </fieldset> <?php } add_action('quick_edit_custom_box', 'display_my_custom_quickedit', 10, 2);
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。