ldc-groupe/content/plugins/acfml/classes/class-wpml-acf-post-ids.php

29 lines
654 B
PHP
Raw Normal View History

2020-04-17 16:50:36 +02:00
<?php
class WPML_ACF_Post_Ids implements WPML_ACF_Convertable {
/** @var WPML_ACF_Post_Id[] $ids */
public function convert( WPML_ACF_Field $acf_field) {
2020-04-17 16:50:36 +02:00
$came_serialized = is_serialized($acf_field->meta_value);
2020-04-17 16:50:36 +02:00
$ids_unpacked = (array) maybe_unserialize($acf_field->meta_value);
2020-04-17 16:50:36 +02:00
$ids = array();
foreach ($ids_unpacked as $id) {
$ids[] = new WPML_ACF_Post_Id($id, $acf_field);
2020-04-17 16:50:36 +02:00
}
$result = array_map(function($id) {return $id->convert()->id;}, $ids);
2020-04-17 16:50:36 +02:00
if (count($result) == 1 && !$came_serialized) {
return $result[0];
}
if ( $came_serialized ) {
$result = maybe_serialize( $result );
}
return $result;
}
}