1

I am new with plugin development and i have one issue while updating post meta. I have to create checkbox for each user but while updating post update_post_meta is not working for all checkboxes. Values are correct but these are not updating in database. Here is my code.

add_action( 'save_post', 'cd_meta_box_save' );
function cd_meta_box_save( $post_id )
{
global $post;
$all_users = get_users();
foreach($all_users as $user){
$my_meta_box_check = "my_meta_box_check".$user->ID;
$chk = isset( $_POST[$my_meta_box_check] ) && $_POST[$my_meta_box_check] ? 'on' : 'off';
update_post_meta( $post_id, $my_meta_box_check, $chk );
}
}

This code is working for few check boxes but not for all. I will really appreciate your help because i am trying to fix this issue for many hours but nothing working.

9
  • Maybe this plugin will help you to handle data from metabox wordpress.org/plugins/meta-box
    – Alexey
    Jul 18, 2017 at 19:59
  • Thank you for your suggestion. But i could not use plugin because i have already lot of other functionality related to these checkboxes.
    – wplearner
    Jul 18, 2017 at 20:04
  • You are not setting $post_id variable. You need to add $post_id = $post->ID; after global $post Jul 18, 2017 at 20:53
  • $post_id is already in functions parameters and i have also tried with your suggestion but still the same problem.
    – wplearner
    Jul 18, 2017 at 21:07
  • How many users are there? I wonder if get_users() just returns you first 10 or something... What about adding paged param to it to make it 100% sure it gets all users? get_users(array('number' => 10000))
    – Worduoso
    Jul 18, 2017 at 21:15

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.