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

29 lines
674 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 */
2020-04-17 16:50:36 +02:00
public function convert( WPML_ACF_Field $WPML_ACF_Field) {
$came_serialized = is_serialized($WPML_ACF_Field->meta_value);
$ids_unpacked = (array) maybe_unserialize($WPML_ACF_Field->meta_value);
$ids = array();
foreach ($ids_unpacked as $id) {
$ids[] = new WPML_ACF_Post_Id($id, $WPML_ACF_Field);
}
$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;
}
}