Я сделал небольшое изменение, чтобы посмотреть, существуют ли данные, и добавил дополнительные данные с помощью массива обратного вызова, но вы могли бы передать прямой массив, что функция update_user_meta уже будет работать;)
function workshop_save_viewed_enquiries() {
global $current_user;
wp_get_current_user();
if ( is_singular( 'enquiry' ) && in_array( 'workshop', (array) $current_user->roles ) || true == true ) {
$viewed_enquiries_array = get_user_meta( $current_user->ID, 'wpcf-viewed-enquiries', true );
if( $viewed_enquiries_array ){
$viewed_enquiries_array = explode(', ', $viewed_enquiries_array );
}else{
$viewed_enquiries_array = array();
}
if ( !in_array( get_the_ID(), $viewed_enquiries_array ) ){
$viewed_enquiries_array[] = get_the_ID();
$viewed_enquiries = implode(', ', $viewed_enquiries_array );
update_user_meta( $current_user->ID, 'wpcf-viewed-enquiries', $viewed_enquiries );
}
}
}
add_action( "wp_footer", "workshop_save_viewed_enquiries" );