PluginProbe ʕ •ᴥ•ʔ
Admin Columns / 7.0.13
Admin Columns v7.0.13
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 5 months ago Slug.php 5 months ago TermLink.php 5 months ago TermProperty.php 5 months 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
15 private string $field;
16
17 public function __construct(string $field)
18 {
19 $this->field = $field;
20 }
21
22 public function format(Value $value): Value
23 {
24 $term = get_term($value->get_id());
25
26 if ( ! $term instanceof WP_Term) {
27 throw ValueNotFoundException::from_id($value->get_id());
28 }
29
30 $field = $term->{$this->field} ?? null;
31
32 if (null === $field) {
33 throw ValueNotFoundException::from_id($value->get_id());
34 }
35
36 switch ($this->field) {
37 case 'parent':
38 return new Value((int)$field);
39 default:
40 return $value->with_value($field);
41 }
42 }
43 }