Select.php
960 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php
namespace ACA\ACF\Value\Formatter;
use AC\Settings\Column\NumberOfItems;
use AC\Settings\Column\Separator;
use ACA\ACF\Field\Choices;
use ACA\ACF\Value\Formatter;
class Select extends Formatter {
public function format( $value, $id = null ) {
$labels = $this->field instanceof Choices
? $this->field->get_choices()
: [];
$result = [];
foreach ( (array) $value as $v ) {
$result[] = $labels[ $v ] ?? $v;
}
if ( empty( $result ) ) {
return $this->column->get_empty_char();
}
$separator = $this->column->get_separator();
if ( $this->column->get_setting( Separator::NAME ) ) {
$separator = $this->column->get_setting( Separator::NAME )->get_separator_formatted();
}
if ( $this->column->get_setting( NumberOfItems::NAME ) ) {
return ac_helper()->html->more(
$result,
$this->column->get_setting( NumberOfItems::NAME )->get_value(),
$separator
);
}
return implode( $separator, $result );
}
}