smourph
3/31/2016 - 2:12 PM

Auto-regenerate the post_name when a post is created/updated

Auto-regenerate the post_name when a post is created/updated

/**
 * Auto-regenerate the post_name when a post is created/updated
 *
 * @param array $data : post data.
 * @return array The new array of post data after checking for collisions.
 */
function update_regenerate_slug($data)
{
    if (!in_array($data['post_status'], array('draft', 'pending', 'auto-draft'))) {
        $data['post_name'] = sanitize_title($data['post_title']);
    }
    return $data;
}
add_filter('wp_insert_post_data', 'update_regenerate_slug', 99, 2);