PluginProbe ʕ •ᴥ•ʔ
Admin Columns / 7.1.4
Admin Columns v7.1.4
7.1.4 7.0.19 2.3.5 2.4 2.4.1 2.4.10 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.4.8 2.4.9 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.6.1 2.5.6.2 2.5.6.3 2.5.6.4 3.0 3.0.1 3.0.2 3.0.3 3.0.5 3.0.7 3.1 3.1.1 3.1.10 3.1.2 3.1.3 3.1.5 3.2.3 3.2.7 3.3.1 3.4.1 3.4.6 3.4.8 4.0.1 4.0.3 4.1.6 4.2.2 4.2.5 4.3 4.3.2 4.4.1 4.4.4 4.4.5 4.5.5 4.6.1 4.7.18 4.7.19 4.7.20 4.7.7 7.0.13 7.0.14 7.0.16 trunk 1.0 1.1 1.1.3 1.2 1.2.1 1.3 1.3.1 1.4 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.5.1 1.4.6 1.4.6.1 1.4.6.2 1.4.6.3 1.4.6.4 1.4.7 1.4.8 1.4.9 2.0.0 2.0.1 2.0.2 2.0.3 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.2 2.2.1 2.2.1.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.5.1 2.2.6 2.2.6.1 2.2.6.2 2.2.6.3 2.2.6.4 2.2.7 2.2.8 2.2.8.1 2.2.9 2.3.1 2.3.2 2.3.3
codepress-admin-columns / classes / Formatter / Term / TermProperty.php
codepress-admin-columns / classes / Formatter / Term Last commit date
Meta.php 1 day ago Slug.php 1 day ago TermLink.php 1 day ago TermProperty.php 1 day ago
TermProperty.php
43 lines
1 <?php
2
3 declare(strict_types=1);
4
5 namespace AC\Formatter\Term;
6
7 use AC\Exception\ValueNotFoundException;
8 use AC\Formatter;
9 use AC\Type\Value;
10 use WP_Term;
11
12 class TermProperty implements Formatter
13 {
14 private string $field;
15
16 public function __construct(string $field)
17 {
18 $this->field = $field;
19 }
20
21 public function format(Value $value): Value
22 {
23 $term = get_term($value->get_id());
24
25 if (! $term instanceof WP_Term) {
26 throw ValueNotFoundException::from_id($value->get_id());
27 }
28
29 $field = $term->{$this->field} ?? null;
30
31 if (null === $field) {
32 throw ValueNotFoundException::from_id($value->get_id());
33 }
34
35 switch ($this->field) {
36 case 'parent':
37 return new Value((int)$field);
38 default:
39 return $value->with_value($field);
40 }
41 }
42 }
43