php - Not save url on meta box custom field after wp update 6.1
url had been saved on meta box custom field before update wp 6.1 but after updation url not been saved in meta box custom field. i'm using this code, what should i need to change in code?
``
<?php
} // close m_param_post_meta_box_cb function
add_action( 'save_post', 'cd_meta_box_save' );
function cd_meta_box_save( $post_id )
{
// Bail if we're doing an auto save
if( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) return;
// if our nonce isn't there, or we can't verify it, bail
if( !isset( $_POST['meta_box_nonce'] ) || !wp_verify_nonce( $_POST['meta_box_nonce'], 'my_meta_box_nonce' ) ) return;
// if our current user can't edit this post, bail
if( !current_user_can( 'edit_post' ) ) return;
// Make sure your data is set before trying to save it
if( isset( $_POST['m_meta_description'] ) ) {
update_post_meta( $post_id, 'm_meta_description', wp_kses( $_POST['m_meta_description'], $allowed ) );
}
}
?>
<?php
add_action('wp_head', 'add_to_wp_head');
function add_to_wp_head( )
{
if (is_single())
{
global $post;
$m_meta_description = get_post_meta($post->ID, 'm_meta_description', true);
echo '<meta name="description" content="' . $m_meta_description . '"/>';
}
}
Answer
Solution:
This line needs to change so you're checking the edit_post capability against the specific post you're trying to save.
if( !current_user_can( 'edit_post' ) ) return;
So that line above becomes this:
if (!current_user_can('edit_post', $post_id)) return;
Source