In in \WPML_Element_Translation_Package::add_custom_field_contents in wp-content/plugins/sitepress-multilingual-cms/classes/translation-jobs/class-wpml-element-translation-package.php ,
we do:
$custom_fields_values = array_values( array_filter( get_post_meta( $post->ID, $key ) ) );
This iterates over an array of fields. The first field is "title", but there is no such postmeta for that post ID. This makes the fatal error with PHP 8.x and notices with lesser version of PHP
We traced the issue to \Give_DB_Meta::get_meta in wp-content/plugins/give/includes/database/class-give-db-meta.php
This is the exact code lines that trigger the problem:
if ( $this->raw_result ) {
if ( ! ( $value = get_metadata( $this->meta_type, $id, $meta_key, false ) ) ) {
$value = '';
}
The fatal error does not happen if we change this code to
if ( $this->raw_result ) {
if ( ! ( $value = get_metadata( $this->meta_type, $id, $meta_key, false ) ) ) {
$value = array();
}
However, we still have some PHP warnings after that.